|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Dec 2001
Messaggi: 14
|
mi serve un aiutino sul C
Ciao a tutti
Sto studiano C e sono alle prime armi. Ho così scritto per allenarmi questo semlice programmino #include <stdio.h> main() { int annasc, etat; printf("inscerisci il tuo anno di nascita e premi invio \n"); scanf("%d", &annasc); etat = 2003 - annasc; etat > 40 ? printf("hai superato gli anta, avendo %d anni \n", etat) : ("Hai ancora parecchi anni di vita davanti a te, avendo solo %d anni /n", etat); } Come potete vedere qualcosa non va. + Precisamente io volevo che a seconda dell' eta di una persona venisse visualizzato un messaggio differente. Come posso fare visto che così non va? Help Ciao
__________________
_______________ |
|
|
|
|
|
#2 |
|
Junior Member
Iscritto dal: Oct 2003
Città: Palermo
Messaggi: 9
|
puoi usare switch in questo modo:
Codice:
#include <stdio.h>
main()
{
int annasc, etat;
printf("inscerisci il tuo anno di nascita e premi invio \n");
scanf("%d", &annasc);
etat = 2003 - annasc;
switch (etat) {
case 'etat > 60':
printf("A mazza quanto sei vecchio!\n);
break;
case 'etat > 50':
printf("Sei nel mezzo del cammin della tua vita...\n");
break;
case 'etat >20':
printf("Sei ancora giovanissimo!, hai l'intera vita d'avanti\n");
break;
}
return 0;
}
__________________
"Per ogni sistema formale di regole ed assiomi è possibile arrivare a proposizioni indecidibili, usando gli assiomi dello stesso sistema formale" Kurt Godel |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jun 2003
Città: Ferrara
Messaggi: 5950
|
Grazie mille
Ma mi puoi spiegare perchè come ho scritto io non va? E cosa vuol dire break? Puoi spiegarmi brevemente come hai fatto tu?
__________________
Ho fatto affati con.... troppi |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Sep 2001
Città: Roma
Messaggi: 1944
|
Quote:
quello che hai fatto tu sembra corretto prova a mettere l'if invece che il ?.... tipo if (eta>40) printf(".....") else printf("...")
__________________
"Oggi è una di quelle giornate in cui il sole sorge veramente per umiliarti" Chuck Palahniuk Io c'ero |
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
Codice:
switch(espressione)
{
case valore1:
statement;
case valore1:
statement;
....
case valoreN:
statement;
default:
statement;
}
|
|
|
|
|
|
|
#6 | |
|
Junior Member
Iscritto dal: Oct 2003
Città: Palermo
Messaggi: 9
|
Quote:
__________________
"Per ogni sistema formale di regole ed assiomi è possibile arrivare a proposizioni indecidibili, usando gli assiomi dello stesso sistema formale" Kurt Godel |
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Codice:
int a;
scanf("%d", &a)
switch(a)
{
case 2:
printf("Hai inserito due, stamperò anche uno");
case 1:
printf("Hai inserito uno");
break;
case 3:
printf("Hai inserito tre");
break;
default:
printf("Hai inserito un numero diverso da uno, due e tre");
break;
}
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
Codice:
#include <stdio.h>
main()
{
int annasc, etat;
printf("inscerisci il tuo anno di nascita e premi invio \n");
scanf("%d", &annasc);
etat = 2003 - annasc;
char *msg = (etat > 40) ? printf("hai superato gli anta, avendo %d anni \n", etat) : ("Hai ancora parecchi anni di vita davanti a te, avendo solo %d anni /n", etat);
printf("%s", msg);
}
Ultima modifica di Luc@s : 16-10-2003 alle 15:33. |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Grande Luc@s
Comunque non importava l'assegnazione a char *msg e ti manca un printf sulla stringa in fondo... Comunque è più semplice così: Codice:
#include <stdio.h>
main()
{
int annasc, etat;
printf("inscerisci il tuo anno di nascita e premi invio \n");
scanf("%d", &annasc);
etat = 2003 - annasc;
printf((etat > 40) ? "hai superato gli anta, avendo %d anni \n" : "Hai ancora parecchi anni di vita davanti a te, avendo solo %d anni \n", etat);
}
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
Quote:
Cmq sto rivedendo l' I/O del C e penso che utilizzero quello anche in C++...............faccio male??? |
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ovviamente sì
Ci sono motle cose utili nell'I/O del C++...utili soprattutto con le classi... Ad esempio tante volte mi è servito ridefinire l'operatore <<... Certo in molte situazioni l'I/O del C è comodo, ma è meglio avere pazienza in quelle situazioni e abituarsi a quello del C++ (io ci ho messo tanto per abituarmi)... |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
Ma il maximo che ho fatto è stato questo:
Codice:
#include <iostream>
#include <fstream>
#include <cstdio>
#include <cstring>
#define MAX_BUF 2048
#define SUCCES 0
#define ER -1
using namespace std;
int copy(char src, char dst);
int main(int argc, char *argv[])
{
char buf;
ifstream in_file;
ofstream out_file;
in_file.open(argv[1]);
out_file.open(argv[2]);
while((!in_file.eof()) && (in_file.get(buf))){
out_file.put(buf);
}
system("PAUSE");
return SUCCES;
}
|
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
|
#14 | |
|
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
Quote:
|
|
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Prova a fare una classe che gestisce un albero e stampane l'output facendo l'overloading del'operatore <<... E' interessante...
|
|
|
|
|
|
#16 | |
|
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
Quote:
|
|
|
|
|
|
|
#17 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
|
#18 | |
|
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
Quote:
|
|
|
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Magari in un altro thread...
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:03.



















