Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #define DIM_NUMERO 13
- #define DIM_NOME 15
- #define DIM_COGNOME 15
- #define DIM 10
- /*10. Definire una struttura che consente di gestire un elemento di una rubrica telefonica; i
- campi da utilizzare sono a vostra discrezione, l’unico vincolo è la presenza del nome e del
- numero di telefono, ambedue memorizzati come stringhe. Gestire quindi un array di elementi,
- prevedendo la possibilità di inserire, modificare, visualizzare, ricercare e cancellare elementi
- dalla rubrica stessa.*/
- typedef struct{
- char numero[DIM_NUMERO+1];
- char nome[DIM_NOME+1];
- char cognome[DIM_COGNOME+1];
- }Rubrica;
- void inserimento(Rubrica v[], int n);
- void modifica(Rubrica v[],int n);
- void visualizza(Rubrica v[],int n);
- void stampaRubrica(Rubrica v[],int d);
- void cancella(Rubrica v[],int n);
- int main() {
- Rubrica google[DIM] = {};
- int scelta;
- char sceltaUtente;
- do{
- sceltaUtente = 0;
- scelta = 0;
- printf("\n'i' per inserire un contatto, 'm' per modificare un contatto, 'v' per visualizzare un contatto");
- printf("\n 's' per stampare tutta la rubrica, 'c' per cancellare un contatto");
- printf("\nInserisci la tua scelta:");
- scanf("%c", &sceltaUtente);
- getchar();
- switch(sceltaUtente){
- case 's':
- stampaRubrica(google, DIM);
- break;
- case 'i':
- printf("\nInserisci la posizione in cui vuoi inserire:");
- scanf("%d", &scelta);
- inserimento(google, scelta);
- break;
- case 'm':
- printf("\nInserisci la posizione che vuoi modificare:");
- scanf("%d", &scelta);
- modifica(google, scelta);
- break;
- case 'v':
- printf("\nInserisci la posizione che vuoi visualizzare:");
- scanf("%d", &scelta);
- visualizza(google, scelta);
- break;
- case 'c':
- printf("\nInserisci la posizione che vuoi cancellare:");
- scanf("%d", &scelta);
- break;
- default:
- printf("\nScelta non valida.");
- }
- }while(DIM_NUMERO < DIM_COGNOME);
- return 0;
- }
- void inserimento(Rubrica v[], int n){
- printf("\nInserisci il numero:");
- scanf("%s", v[n-1].numero);
- getchar();
- printf("\nInserisci il nome:");
- scanf("%[^\n]s", v[n-1].nome);
- getchar();
- printf("\nInserisci il cognome:");
- scanf("%[^\n]s", v[n-1].cognome);
- getchar();
- }
- void modifica(Rubrica v[], int n){
- char sceltaModifica;
- printf("\n 'N' per modificare il numero, 'n' per modificare il nome, 'c' per il cognome, 't' per modificare tutto.");
- printf("\nScegli cosa modificare:");
- scanf("%c", &sceltaModifica);
- getchar();
- if(sceltaModifica == 'N'){
- printf("\nInserisci il numero:");
- scanf("%s", v[n-1].numero);
- getchar();
- }
- else
- if(sceltaModifica == 'n'){
- printf("\nInserisci il nome:");
- scanf("%[^\n]s", v[n-1].nome);
- getchar();
- }
- else
- if(sceltaModifica == 'c'){
- printf("\nInserisci il cognome:");
- scanf("%[^\n]s", v[n-1].cognome);
- getchar();
- }
- else
- if(sceltaModifica == 't'){
- printf("\nInserisci il numero:");
- scanf("%s", v[n-1].numero);
- getchar();
- printf("\nInserisci il nome:");
- scanf("%[^\n]s", v[n-1].nome);
- getchar();
- printf("\nInserisci il cognome:");
- scanf("%[^\n]s", v[n-1].cognome);
- getchar();
- }
- else
- printf("\nErrore");
- }
- void visualizza(Rubrica v[], int n){
- printf("\nNumero: %s", v[n-1].numero);
- printf("\nNome: %s", v[n-1].nome);
- printf("\nCognome: %s", v[n-1].cognome);
- }
- void stampaRubrica(Rubrica v[],int d){
- int i;
- for(i=0; i < d; i++){
- printf("\n #%d Nome: %s", i, v[i].nome);
- printf("\n #%d Cognome: %s", i, v[i].cognome);
- printf("\n #%d Numero: %s", i, v[i].numero);
- printf("\n");
- }
- }
- void cancella(Rubrica v[], int n){
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement