01/09/11 11:25
Liuk
/* Programma: cavallin-agenda.c Autore: Cavallin Luca Classe: 4CINF Data: 30/08/2011 Descrizione: Attività estive */ #include <stdio.h> #include <stdlib.h> #include <string.h> #define DIM 100 void clear(void); void pEnter(void); void setColor(int a, int b, int c); struct item { char nome[DIM]; char cognome[DIM]; int numero; int valido; }; typedef struct item item; void inserisciNominativo(item[], int*); void cancellaNominativo(item[], int*); void stampaAgenda(item[], int*); void ricercaNominativo(item[], int*); int main(void) { system("clear"); item agenda[DIM]; int *nnom = 0; int ch; do { setColor(1, 0, 32); printf("\n\t\t*****************************************\n"); printf("\t\t* *\n"); printf("\t\t* CAVALLIN - AGENDA *\n"); printf("\t\t* *\n"); printf("\t\t*****************************************\n\n"); printf("\n \t* MENÙ *\n\n"); setColor(1, 0, 0); printf(" 1| Inserire nominativo \n"); printf(" 2| Cancellare nominativo\n"); printf(" 3| Stampa agenda\n"); printf(" 4| Ricerca nominativo\n"); printf(" 0| Esci\n"); printf("\n Inserisci scelta: "); scanf("%d", &ch); system("clear"); switch(ch) { case 1: inserisciNominativo(agenda, &nnom); pEnter(); break; case 2: pEnter(); break; case 3: stampaAgenda(agenda, &nnom); pEnter(); break; case 4: pEnter(); break; case 0: return 0; break; default: break; } clear(); } while(ch != 0); return 0; } void setColor(int a, int b, int c) { printf("\e[%d;%d;%dm", a, b, c); } void clear(void) { system("clear"); } void pEnter(void) { printf("\n\n Premi INVIO per continuare...\n"); getchar(); } void inserisciNominativo(item agenda[], int *nnom) { clear(); int i, ex; char tmpNome[DIM], tmpCognome[DIM]; do { setColor(1, 0, 32); printf("\n Inserimento nominativo\n\n"); setColor(1, 0 , 1); printf(" Nome: "); getchar(); gets(tmpNome); printf(" Cognome: "); gets(tmpCognome); if(*nnom>0) { for(i=0; i<*nnom; i++) { if(strcmp(tmpNome, agenda[i].nome) == 0 && strcmp(tmpCognome, agenda[i].cognome) == 0 && agenda[i].valido == 0) { ex = 1; } } } } while(ex=0); strcpy(tmpNome, agenda[*nnom].nome); strcpy(tmpCognome, agenda[*nnom].cognome); printf(" Telefono: "); scanf("%d", &agenda[*nnom].numero); agenda[*nnom].valido = 0; (*nnom)++; ex = 0; } void cancellaNominativo(item agenda[], int *nnom) { } void stampaAgenda(item agenda[], int *nnom) { int i; clear(); setColor(1, 0, 32); printf("\n Stampa agenda\n\n"); setColor(1, 0, 1); for(i=0; i<*nnom; i++) { if(agenda[i].valido == 0) { printf("\n %s\n", agenda[i].nome); printf("\n %s\n", agenda[i].cognome); printf("\n %d", agenda[i].numero); } } } void ricercaNominativo(item agenda[], int *nnom) { }
Ma da dei problemi nell'inserimento del nome: viene inserito solo il numero..
aaa