123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- // contatti2.cpp : Defines the entry point for the console application.
- //
- /*
- scrivere un programma che usando le funzioni che restituiscono un puntatore allochi un array di contati di cui numeri di elemnti è chiesto in inputi dall'
- utente il programma deve permettere le seguenti voci di menù:
- inserise nuovo contatto
- stampa tutti i contatti
- ricerca un contatto per cognome
- contatto congome,nome, telefono,città.
- */
- #include "stdafx.h"
- #include <iostream>
- #include <string.h>
- #define NC 20+1
- using namespace std;
- typedef struct {
- char nome[NC];
- char cognome[NC];
- int telefono;
- char citta[NC];
- }CONTATTI;
- CONTATTI*carica(int n);//prototipo
- void ricerca(int n, CONTATTI a[] );
- void stampa(int n, CONTATTI a[]);
- void menù();
- int main()
- {
- menù();
- return 0;
- }
- void menù() {
- int numero_contati;
- int scelta = 0;
- CONTATTI*u=0;
- do {
- system("cls");
- printf(" **menu**\n");
- printf("0.esci\n");
- printf("1.carica\n");
- printf("2.ricerca\n");
- printf("3.visualizza\n");
- scanf_s("%d", &scelta, sizeof(int));
- switch (scelta) {
- case 0:
- printf("arrivederci e lasciate la mancia\n");
- system("pause");
- break;
- case 1:
- printf("inserire il numero dei contatti\n");
- scanf_s("%d", &numero_contati, sizeof(int));
- u = carica(numero_contati);
- break;
- case 2:
- ricerca(numero_contati, u);
- system("pause");
- break;
- case 3:
- stampa(numero_contati, u);
- system("pause");
- break;
- default:
- printf("valore non valido\n");
- break;
- }
- } while (scelta != 0);
- free(u);
- }
- void stampa(int n, CONTATTI a[]) {
- for (int i = 0; i < n; i++) {
- printf(" nome :%s \n", a[i].nome);
- printf(" cognome :%s \n", a[i].cognome);
- printf("città: %s \n", a[i].citta);
- //printf(" telefono :%d \n", a[i].telefono);
- }
- }
- void ricerca(int n,CONTATTI a[]) {
- char str[NC];
- int g = 0;
- printf("inserire il congome da ricercare\n");
- scanf_s("%s", str, NC);
- for (int i = 0; i < n; i++) {
- if (strcmp(str, a[i].cognome) == 0) {
- g = i;
- break;
- }
- }
- printf(" nome %s \n", a[g].nome);
- printf(" città %s \n", a[g].citta);
- //printf(" telefono %d \n,a[g].telefono);
- }
- CONTATTI*carica(int n) {
- //int numero_contati;
- CONTATTI*o;
- //printf("inserire il numero dei contatti\n");
- //scanf_s("%d", &numero_contati, sizeof(int));
- o = (CONTATTI*)malloc(n* sizeof(CONTATTI));
- for (int i = 0; i < n ; i++) {
- system("cls");
- printf("inserire il cognome\n");
- scanf_s("%s", o[i].cognome, NC);
- printf("inserire nome\n");
- scanf_s("%s", o[i].nome, NC);
- printf("inserire città\n");
- scanf_s("%s", o[i].citta, NC);
- /*
- printf("inserire numero di telefono\n"); chiedere al prof
- scanf_s("%d", o[i].telefono, sizeof(int));
- */
- }
- return o;
- }
|