Oppure

Loading
16/04/09 16:23
matteog
qualcuno sà spiegarmi come posso fare l'allocazione di memoria di questo programma??
sono ben accetti i consigli grazie.


// rubricad.cpp : definisce il punto di ingresso dell'applicazione console.
//
#include "stdafx.h"
#include <iostream>
#include <string.h>
#include <stdio.h>
#define DIM 20//INDICA LA DIMENSIONE DELLA STRUTTURA
using namespace std;
typedef struct //STRUTTURA DI NOME PERSONA CHE CONTIENE 4 VETTORI DI TIPO STRINGA
{
char nome[40];
char cognome[40];
char numero[13];
char email[100];
}
persona;
int main()
{
    bool flag=false;
    char nom[40];
    char man[40];
    char num2[20];
    char ema[40];
    persona rubrica[DIM];
    char scelta='s' ;
    int I = 0;
int J = 0;
char*nomeric=new char[40];
char risp3=0;
    int num = 0;
do
{
cout<<" "<<".....il programma svolge le funzioni di una rubrica telefonica....."<<endl<<endl<<endl<<endl;
cout<<"premere 1 per inserire ,2 per cercare e 3 per modificare,4 per uscire!!"<<endl;
cin>>risp3;
if(risp3=='1')
{
    
         scelta='S';
while((scelta == 'S' || scelta == 's')&&I < DIM)
{
cout<<"Inserisci il nome: "<<'\n';
cin>>rubrica[I].nome;
cout<<"Inserisci il cognome: "<<'\n';
cin>>rubrica[I].cognome;
cout<<"Inserisci il numero di telefono: "<<'\n';
cin>>rubrica[I].numero;
cout<<"Inserici l'e-mail: "<<'\n';
cin>> rubrica[I].email;
cout<<""<<'\n';
I=I+1;
// Chiedo se continuare o meno.
cout<<" Spazio disponibile:"<<(DIM-I)<<endl;
cout<<"Inserire un altro contatto? [S/N]: "<<endl;
cin>>&scelta;
     }
if(I == DIM)
{
printf("Rubrica piena\n";);
}
     }
else if(risp3=='2')
{
     scelta='S';
// Effettuiamo la ricerca:
     num = 0;
J = 0;
printf("Inserici il nome da ricercare: ";);//ESEGUE LA RICERCA
cin>>nomeric;
while(J < DIM)
{
if(!strcmp(nomeric, rubrica[J].nome))//permette mediante la strcmp
         //di confrontare carattere per carattere la stringa cercata con quella salvata
{
printf("%s\n",rubrica[J].nome);//l'uso dell printf permette la scrittura all'interno
         //della struttura e la messa a video in modo più chiaro
              printf("%s\n", rubrica[J].cognome);
         printf("Tel: %s\n", rubrica[J].numero);
         printf("Email: %s\n", rubrica[J].email);
              printf("\n";);
     num++;
}
J=J+1;
             }
}
else if(risp3=='3')
{
     cout<<"inserisci il nome della pesona che vuoi sostituire!"<<endl;
     cin>>nom;
scelta='S';
// Effettuiamo la ricerca:
     num = 0;
J = 0;
printf("Inserici il nome da ricercare: ";);//ESEGUE LA RICERCA
cin>>nomeric;
while(J < DIM)
{
if(!strcmp(nomeric, rubrica[J].nome))//permette mediante la strcmp
         //di confrontare carattere per carattere la stringa cercata con quella salvata
{
strcpy(rubrica[J].nome,nom);//l'uso dell printf permette la scrittura all'interno
         //della struttura e la messa a video in modo più chiaro
                     cout<<"inserisci il cognonme da inserire: ";
                     cin>>man;
                     strcpy(rubrica[J].cognome,man);
                     cout<<"inserisci il numero da inserire: ";
                     cin>>num2;
                     strcpy(rubrica[J].numero,num2);
                     cout<<"inserisci l'email: ";
                     cin>>ema;
                     strcpy(rubrica[J].email,ema);
              printf("\n";);
     num++;
}
J=J+1;
     }
}
else if(risp3=='4')
{
     cout<<"ciao e grazie"<<endl;
     flag=true;
}
}
while(flag==true||risp3!=4);
system ("pause";);
return 0;
}


aaa
16/04/09 16:25
theprogrammer
Postato originariamente da matteog:

qualcuno sà spiegarmi come posso fare l'allocazione di memoria di questo programma??
sono ben accetti i consigli grazie.


Cioe'?
aaa
16/04/09 16:27
matteog
cioè mi sapete spiegare come fare per allocare la memoria della struttura ,dei vettori e delle variabili??
aaa
16/04/09 17:45
theprogrammer
Scusa ... ma non l'hai allocato qui

persona rubrica[DIM];

la tua rubrica?
aaa