Vai al contenuto

Featured Replies

Pubblicato
comment_226877

La mia idea è questa: ok non intasare l'area di topic troppo specifici, ma meglio non mischiare troppo le due branche principali delle necessità di chi vive casini informatici, ossia il supporto hardware/software (banalmente: ho un problema e voglio aiuto) e l'aiuto teorico (come quello che richiederò tra poco).

Intendo dire che Help Desk va benissimo come topic dove chiedere "Ehy, mi sta per esplodere l'HD, come posso fare?" o "Non parte NWN2, aiutatemi!", ma per questioni più metafisiche è meglio prendersi un angolino in disparte.

Eccolo qui.

Non sono rari topic in cui qualcuno chiede dritte su C, Pascal, HTML e altro, dunque perché non creare un topic "raccoglitore" come riferimento ai programmatori o presunti tali? Spero condividiate...

Comincio con una richiesta stupidissima ma dettata dai numerosi anni di inattività: come faccio in C++ a mantenere fisso l'output di un run finché mi pare?

In Pascal avevo l'amico repeat until keypressed (l'ho provato prima, mi ricordo ancora Pascal dopo tipo sette anni! :-D), ma in C++ proprio non ricordo.

Correggetemi questo, in parole povere, dicendomi che cavolo andava al posto dell'asterisco. :mrgreen:

Dannata memoria...

#include <iostream.h>

void main ()

{

cout<<"Ciao DL!";

*

}

Superato questo scoglio, è tutto in discesa.

  • Risposte 44
  • Visualizzazioni 4,6k
  • Creata
  • Ultima risposta

Utenti più attivi in questa discussione

Messaggi più popolari

comment_227011

  Aerys II ha detto:
Comincio con una richiesta stupidissima ma dettata dai numerosi anni di inattività: come faccio in C++ a mantenere fisso l'output di un run finché mi pare?

In Pascal avevo l'amico repeat until keypressed (l'ho provato prima, mi ricordo ancora Pascal dopo tipo sette anni! :-D), ma in C++ proprio non ricordo.

cos'e` che vuoi fare?

comunque:

#include <iostream>

using namespace std;

int main ()

{

out<<"Ciao DL!";

*

return 0;

}

meglio ;-)

comment_227045

  Shar ha detto:
puoi usare un system("pause>nul");
questo e` un accrocchio

  Citazione
oppure un while(getchar()!='\n');
e questo e` C

se mi spiegasse cosa vuole fare...

se vuole solo aspettare che qualcuno prema un tasto il codice di molmoth dovrebbe essere giusto.

  • Author
comment_227047

Sì, a me bastava tenere a schermo un "Ciao DL!" finché l'utente non preme un tasto.

Eh, di C++ proprio non mi ricordo una fava a quanto vedo. Ma presto riprenderò mano.

Danke!

EDIT: Inciso per i programmatori vintage ma non troppo: ho realizzato con orrore che la funzione sound(); di TurboPascal non funziona più... :-(

Nessuno conosce un'alternativa valida in TP? Io ci tenevo al caro vecchio

sound(262);

delay(800);

nosound;

comment_227405

Se vuoi che la scritta rimanga finché non si preme un tasto generico, prova con la funzione kbhit():

#include <iostream.h>

#include <conio.h> // credo serva per kbhit()

void main ()

{

cout<<"Ciao DL!";

while(! kbhit()); // aspetta finché non premi un tasto. Se non funziona prova con while(kbhit())

}

comment_227408

  likeblue ha detto:
Se vuoi che la scritta rimanga finché non si preme un tasto generico, prova con la funzione kbhit():

#include <iostream.h>

#include <conio.h> // credo serva per kbhit()

void main ()

{

cout<<"Ciao DL!";

while(! kbhit()); // aspetta finché non premi un tasto. Se non funziona prova con while(kbhit())

}

das ist C, kein C++ :bye:
comment_227416

  likeblue ha detto:
Mo l'ho preso dalle dispense di C++ del Hmeljak...:confused: (e poi se la memoria non mi inganna funzionava...)

- per funzionare funziona, perche` in C++ puoi usare quasi tutto il C, con trucchi piu` o meno squallidi

- hmeljak non ha mai capito una mazza di C++ :-p

comment_227420

  Aerys II ha detto:
Ah, while(); ecco come si chiamava! :-D

Hmeljak è uno strano ominide, ma io gli volevo bene.

non e` while(), ma while. non e` una funzione ma una keyword.
comment_227438

  Dusdan ha detto:
- per funzionare funziona, perche` in C++ puoi usare quasi tutto il C, con trucchi piu` o meno squallidi

- hmeljak non ha mai capito una mazza di C++ :-p

Il fine giustifica i mezzi...:cool: (anche se fa inorridire gli esperti di programmazione...)

  • Author
comment_227619

Ragazzi, a questo punto mi preoccupo parecchio, forse il compilatore è impazzito? Voglio dire, Borland Builder non mi fa funzionare nemmeno Hello World... :confused:

Ho provato il sistema cin>>key; ho provato la versione "ibrida" suggerita da likeblue, ho provato diverse soluzioni ma niente: Borland da un segnale di vita ma nulla appare.

O meglio, qualcosa succede di sicuro, ma tuto svanisce subito. Idee?

Io proprio non so cosa credere: all'inizio pensavo di essere un deficientone io, e lo sono, ma qui il problema penso sia un altro...

Scusate il post doppio, se i Mod me l'accorpassero sarei un ometto felice.

Problema strambo: voglio usare Emacs per tutto, dunque anche per comporre documenti Latex in ambiente Windows. Come faccio a inserire la tilde? Mi spiego: essendo il tasto alt molto usato in Emacs, il signorino si pensa bene di impedirmi il tipico alt+126. Esistono alternativa Windowsiane con tastiera italiana per inserire il simboletto in questione? Lo so che se avessi una tastiera forestiera potrei farlo agevolmente, come so che se fossi in ambiente GNU/Linux (o forse proprio in ambiente Unix like) potrei utilizzare combinazioni differenti (che per inciso includerebbero in almeno un caso alt, dunque probabilmente sarebbero fastidiose allo stesso modo), ma devo lavorare con ciò che passa al convento al momento, e anche se non dovessi io voglio essere in condizioni di poter lavorare su ogni macchina mi si presenti con Emacs, dunque mi occorre risolvere questo problema della tilde anche su Windows.

Suggerimenti?

Ecco un ometto felice ;-)

  • 1 mese dopo...
  • Author
comment_237924

Uppo (sperando che Arghot mi faccia di nuovo felice :mrgreen:) per segnalare l'editor collaborativo Gobby, utile per quanti vogliano una mano a programmare online e si fidino di far mettere le mani a qualcuno sui loro filessssssssssss...

comment_237951

  Aerys II ha detto:
Problema strambo: voglio usare Emacs per tutto, dunque anche per comporre documenti Latex in ambiente Windows. Come faccio a inserire la tilde? Mi spiego: essendo il tasto alt molto usato in Emacs, il signorino si pensa bene di impedirmi il tipico alt+126. Esistono alternativa Windowsiane con tastiera italiana per inserire il simboletto in questione? Lo so che se avessi una tastiera forestiera potrei farlo agevolmente, come so che se fossi in ambiente GNU/Linux (o forse proprio in ambiente Unix like) potrei utilizzare combinazioni differenti (che per inciso includerebbero in almeno un caso alt, dunque probabilmente sarebbero fastidiose allo stesso modo), ma devo lavorare con ciò che passa al convento al momento, e anche se non dovessi io voglio essere in condizioni di poter lavorare su ogni macchina mi si presenti con Emacs, dunque mi occorre risolvere questo problema della tilde anche su Windows.

Suggerimenti?

Provato con i tasti funzione o con PageDown?

Sul terminale dicono funzionino, non so su Emacs.

  • 2 mesi dopo...
  • Author
comment_253867

Pongo una questione che sarà banale e per risolvere la quale basterà di sicuro rileggere un capitolo di manuale, ma sono fuso dalla giornata e avere una risposta pronta mi gioverebbe. ;-)

Ho la necessità, in C++, di leggere da console un ID di quattro lettere, rendere minuscole le lettere eventualmente maiuscole digitate dall'utente (voglio un programma idiot proof), e utilizzare la stringa ottenuta per modificare delle altre stringhe.

Mi spiego: devo assegnare delle costanti di questo tipo, che corrispondano a dei file chiamati tutti allo stesso modo e distinti all'interno del file system solo dal nome della cartella superiore, cartella il cui nome corrisponde all'ID richiesto all'utente:

const *char NomeFile1="Percorso_fino_alla_cartella_superiore/ABCD/nome_file1";

const *char NomeFile2="Percorso_fino_alla_cartella_superiore/ABCD/nome_file2";

...

const *char NomeFileN="Percorso_fino_alla_cartella_superiore/ABCD/nome_fileN";

L'utente di cui sopra scrive l'ID, e il valore delle N stringhe costanti deve essere modificato inserendo lo stesso al posto delle ABCD nell'esempio qui sopra.

Pensavo a una cosa tipo:

char a[5];

cin>>a;

char *b=strlwr(a);

E fin qui nessun problema. A questo punto per infilare quei quattro caratteri nella stringa io che devo fare?

Pensavo di inizializzare una stringa variabile del tutto identica alla costante che poi definirò, modificare quella con l'ID "minuscolizzato" ottenuto e settare finalmente il valore della stringa costante come uguale a quello della stringa variabile modificata.

Più o meno funziona? Per infilare quei fo**uti quattro caratteri che devo fare? Io punterei verso il carattere della stringa precedente ad ABCD per poi copiarli lì. Corretto? Come mi muovo?

Scusate, come ho già detto so che è una domanda scema ma non ho avuto tempo/voglia di rivedere alcuni concetti...

comment_253916

santa madre, ma chi ti ha insegnato a programmare? :banghead:

1) i char * sono il demonio, non devi MAI usarli, ma proprio MAI.

2) usa string e stream vari.

3) no, i char * non li puoi usare.

  • Author
comment_253920

Premetto che ho fatto quello che volevo fare, più o meno così.

char leggi[5];

cin>>leggi;

const char *id=strlwr(leggi);

const char *intest="Percorso_fino_alla_cartella_superiore";

char nome_f[9];

strcpy(nome_f, id);

strcat(nome_f, ".txt");

char NameVar1[120];

strcpy(NameVar1, intest);

strcat(NameVar1, id);

strcat(NameVar1, "/file_da_caricare.estensione");

const char* SurfName1=NameVar1;

Il tutto ripetuto per ciascuna variabile. Funzionare funziona. Ora veniamo alla questione Dusdanica, che mi interessa davvero assai.

  Dusdan ha detto:
santa madre, ma chi ti ha insegnato a programmare? :banghead:

Nessuno, vecchio mio: sai bene chi mi ha fatto lo pseudo-corso di Informatica il primo anno, mister Hmeljak. ;-)

Dopo anni di stop, praticamente ho ricominciato da zero questa estate.

  Citazione
[]1) i char * sono il demonio, non devi MAI usarli, ma proprio MAI.

2) usa string e stream vari.

3) no, i char * non li puoi usare.

Ribadendo ancora che sono passati diversi anni da quando programmavo per l'Università e che al momento ho ripreso da autodidatta, potresti (e lo chiedo seriamente) spiegarmi perché non ti aggrada la soluzione e come l'avresti risolta tu?

Mi sarebbe molto d'aiuto, come dicevo non ho avuto ancora modo di riprendere in mano tutta la materia.

comment_253923

  Aerys II ha detto:
Premetto che ho fatto quello che volevo fare, più o meno così.

char leggi[5];

cin>>leggi;

const char *id=strlwr(leggi);

const char *intest="Percorso_fino_alla_cartella_superiore";

char nome_f[9];

strcpy(nome_f, id);

strcat(nome_f, ".txt");

char NameVar1[120];

strcpy(NameVar1, intest);

strcat(NameVar1, id);

strcat(NameVar1, "/file_da_caricare.estensione");

const char* SurfName1=NameVar1;

vedo una mezza dozzina di bachi.

  Citazione
Nessuno, vecchio mio: sai bene chi mi ha fatto lo pseudo-corso di Informatica il primo anno, mister Hmeljak. ;-)

Dopo anni di stop, praticamente ho ricominciato da zero questa estate.

e non hai fatto calcolatori?

  Citazione
Ribadendo ancora che sono passati diversi anni da quando programmavo per l'Università e che al momento ho ripreso da autodidatta, potresti (e lo chiedo seriamente) spiegarmi perché non ti aggrada la soluzione e come l'avresti risolta tu?
perche` i char pointer sono una fabbrica di bachi e sono impossibili da gestire. usa le string, che sono la peggiore implentazione esistente di una stringa, ma almeno non sono mortali come i char pointer.

Crea un account o accedi per commentare