Precedente :: Successivo |
Autore |
Messaggio |
GG4Core Mortale devoto
Registrato: 02/07/15 16:11 Messaggi: 11
|
Inviato: 03 Lug 2015 16:34 Oggetto: agenda problemi con l' ordinamento |
|
|
ciao ragazzi ho creato un agenda elettronica ora nella nella funzione visualizza, prima di visualizzare vorrei ordinare con Selection Sort di minimo i giorni, in modo da stampare gli appuntamenti adeguatamente ho gia provato qualcosina, ma mi produce un loop infinito.
Codice: |
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>
#include<ctype.h>
#define MAX_ORA 23
#define MAX_LUNGHEZZA_STRINGA 50
#define MAX_GIORNI 31
#define MAX_MESE 12
#define MAX_IMPEGNI 5
#define MAX_UTENTE 20
#define MAX_ANNO 2015
struct
{
char Nome[MAX_UTENTE][MAX_LUNGHEZZA_STRINGA];
char Cognome[MAX_UTENTE][MAX_LUNGHEZZA_STRINGA];
int indice[MAX_UTENTE];
int num_utenti;
char Password[MAX_UTENTE][MAX_IMPEGNI];
}agenda;
struct
{
int libero;
int num_impegni;
char description[MAX_IMPEGNI][MAX_LUNGHEZZA_STRINGA];
int ora[MAX_IMPEGNI];
int mese[MAX_IMPEGNI];
int giorno[MAX_IMPEGNI];
int anno[MAX_IMPEGNI];
}utente[MAX_UTENTE]; //facciamo un array di struct per ogni persona
void crea_agenda();
void inizializza();
int controllo_password(char [MAX_IMPEGNI]); // Riferimento per indirizzo del primo elemento dell' array che puo' essere visto come un puntatore
void visualizza();
void disdire();
void aggiorna();
void inizializza()
{
int i,j;
agenda.num_utenti=0;
for(i=0;i<MAX_UTENTE;i++)
{
utente[i].libero=1;
for(j=0;j<MAX_IMPEGNI;j++)
{
utente[i].ora[j]=-1;
}
}
}
void crea_agenda()
{
int n_utente=0;
int loop;
int i,j;
printf("Inserisci il numero di utenti da registrare:\t");
do
{
loop=1;
scanf("%d",&n_utente);
fflush(stdin);
if(n_utente+agenda.num_utenti > MAX_UTENTE)
{
printf("Non posso gestire tutti questi utenti! Ridefinire numeri di utenti:\a\t");
loop=0;
}
}while(loop==0);
agenda.num_utenti=agenda.num_utenti+n_utente;
for(i=agenda.num_utenti-n_utente;i<agenda.num_utenti;i++)
{
printf("Inserire il proprio nome:\t");
scanf("%s",&agenda.Nome[i]);
printf("Inserire il proprio cognome:\t");
scanf("%s",&agenda.Cognome[i]);
do
{
printf("Inserire Password di almeno 4 caratteri:\t");
scanf("%s",&agenda.Password[i]);
}while(strlen(agenda.Password[i])>=MAX_IMPEGNI || controllo_password(agenda.Password[i])==1);
do
{
agenda.indice[i]=rand()%MAX_UTENTE; //GESTIONE RANDOM DELLA POSIZIONE DEGLI UTENTI
}while(utente[agenda.indice[i]].libero!=1);
do
{
loop=1;
printf("Definire il numero di impegni:\t");
scanf("%d",&utente[agenda.indice[i]].num_impegni);
fflush(stdin);
if(utente[agenda.indice[i]].num_impegni > MAX_IMPEGNI)
{
printf("Troppi impegni, Rischi di collassare! Ridefinire impegni:\a\t");
loop=0;
}
}while(loop == 0);
for(j=0;j<utente[agenda.indice[i]].num_impegni;j++)
{
printf("Definire impegno %d.\n",j+1);
do
{
printf("Inserisci l' ora in cui vuoi inserire l' impegno:\t");
scanf("%d",&utente[agenda.indice[i]].ora[j]);
fflush(stdin);
}while(utente[agenda.indice[i]].ora[j] > MAX_ORA || utente[agenda.indice[i]].ora[j] < 0);
do
{
printf("\nInserisci il giorno in cui vuoi inserire l' impegno:\t");
scanf("%d",&utente[agenda.indice[i]].giorno[j]);
fflush(stdin);
}while((utente[agenda.indice[i]].giorno[j] > MAX_GIORNI) || (utente[agenda.indice[i]].giorno[j] <= 0));
do
{
printf("\nInserisci l' anno in cui vuoi inserire l' impegno:\t");
scanf("%d",&utente[agenda.indice[i]].anno[j]);
fflush(stdin);
}while(utente[agenda.indice[i]].anno[j] < MAX_ANNO);
do
{
printf("\nInserisci il mese in cui vuoi inserire l' impegno:\t");
scanf("%d",&utente[agenda.indice[i]].mese[j]);
fflush(stdin);
}while(utente[agenda.indice[i]].mese[j] > MAX_MESE || utente[agenda.indice[i]].mese[j] <= 0);
printf("\nInserisci la descrizione del tuo impegno %d:\t",j+1);
scanf("%s",&utente[agenda.indice[i]].description[j]);
system("cls");
}
}
}
int controllo_password( char buffer[MAX_IMPEGNI]) //Passaimo il primo indirizzo dell' array mia_password
{
int i;
int count=0;
for(i=0;i < agenda.num_utenti ;i++ )
{
if(!strcmp(buffer,agenda.Password[i]))
{
count++;
if(count>1)
{
return 1;
}
}
}
return 0;
}
void visualizza()
{
char mia_password[MAX_IMPEGNI];
int i;
printf("Inserire Password:\t");
scanf("%s",&mia_password);
for(i=0;i<agenda.num_utenti;i++)
{
if(!strcmp(mia_password,agenda.Password[i]))
{
int mia_ora,j,mio_mese,mio_giorno;
printf("Inserci l' ora degli appuntamenti :\t");
scanf("%d",&mia_ora);
printf("Inserisci il mese dove cercare:\t");
scanf("%d",&mio_mese);
int count=0;
//Selection Sort e stampa
do{
j=0;
if((mia_ora==utente[agenda.indice[i]].ora[j]) && (mio_mese==utente[agenda.indice[i]].mese[j]))
{
int k;
mio_giorno=utente[agenda.indice[i]].giorno[j];
for(k=j+1;k<MAX_GIORNI;k++)
{
if(utente[agenda.indice[i]].giorno[k] < mio_giorno)
{
mio_giorno=utente[agenda.indice[i]].giorno[k];
utente[agenda.indice[i]].giorno[k]=mio_giorno=utente[agenda.indice[i]].giorno[j];
mio_giorno=utente[agenda.indice[i]].giorno[j]=mio_giorno;
}
}
printf("Gli appuntamenti del mese %d del giorno %d dell ora %d sono :\n",mio_mese,mio_giorno,mia_ora);
printf("Impegno %d Descrizione: %s\n",j+1,utente[agenda.indice[i]].description[j]);
count++;
}
j++;
}while(count<utente[agenda.indice[i]].num_impegni || j < MAX_GIORNI );
break;
}
}
}
void disdire()
{
char mia_password[MAX_IMPEGNI];
int i;
printf("Inserire Password:\t");
scanf("%s",&mia_password);
for(i=0;i<agenda.num_utenti;i++)
{
if(!strcmp(mia_password,agenda.Password[i]))
{
int mia_ora,j,mio_mese,mio_giorno,mio_anno;
printf("Inserci l' ora dell' appuntamento da disdire :\t");
scanf("%d",&mia_ora);
printf("Inserire il giorno dell' appuntamento da disdire:\t");
scanf("%d",&mio_giorno);
printf("Inserisci il mese dove cercare:\t");
scanf("%d",&mio_mese);
printf("Inserisci l' anno:\t");
scanf("%d",&mio_anno);
for(j=0;j<utente[agenda.indice[i]].num_impegni;j++)
{
if(mia_ora==utente[agenda.indice[i]].ora[j] && mio_mese==utente[agenda.indice[i]].mese[j] && mio_anno==utente[agenda.indice[i]].anno[j] && mio_giorno==utente[agenda.indice[i]].giorno[j])
{
strcpy(utente[agenda.indice[i]].description[j],"DELETED");
printf("\n");
utente[agenda.indice[i]].ora[j]=utente[agenda.indice[i]].mese[j]=-1;
utente[agenda.indice[i]].num_impegni--;
printf("%s",utente[agenda.indice[i]].description[j]);
break;
}
}
break;
}
}
}
void aggiorna()
{
int i,j;
char mia_password[MAX_IMPEGNI];
printf("Inserire Password:\t");
scanf("%s",&mia_password);
for(i=0;i<agenda.num_utenti;i++)
{
if(!strcmp(mia_password,agenda.Password[i]))
{
for(j=0;j<MAX_IMPEGNI;j++)
{
if(utente[agenda.indice[i]].ora[j]==-1)
{
printf("Definire impegno\n");
do
{
printf("Inserisci l' ora in cui vuoi inserire l' impegno:\t");
scanf("%d",&utente[agenda.indice[i]].ora[j]);
fflush(stdin);
}while(utente[agenda.indice[i]].ora[j] > MAX_ORA || utente[agenda.indice[i]].ora[j] < 0);
do
{
printf("\nInserisci il giorno in cui vuoi inserire l' impegno:\t");
scanf("%d",&utente[agenda.indice[i]].giorno[j]);
fflush(stdin);
}while((utente[agenda.indice[i]].giorno[j] > MAX_GIORNI) || (utente[agenda.indice[i]].giorno[j] <= 0));
do
{
printf("\nInserisci l' anno in cui vuoi inserire l' impegno:\t");
scanf("%d",&utente[agenda.indice[i]].anno[j]);
fflush(stdin);
}while(utente[agenda.indice[i]].anno[j] < MAX_ANNO);
do
{
printf("\nInserisci il mese in cui vuoi inserire l' impegno:\t");
scanf("%d",&utente[agenda.indice[i]].mese[j]);
fflush(stdin);
}while(utente[agenda.indice[i]].mese[j] > MAX_MESE || utente[agenda.indice[i]].mese[j] <= 0);
printf("\nInserisci la descrizione del tuo impegno:\t");
scanf("%s",&utente[agenda.indice[i]].description[j]);
utente[agenda.indice[i]].num_impegni++;
break;
}
}
break;
}
}
}
int main()
{
srand(time(NULL));
char cosa_fare;
int flag=0;
inizializza();
crea_agenda();
while(flag==0)
{
printf("***********************************************\n");
printf("* Benvenuto/a nella proria agenda elettronica *\n");
printf("***********************************************\n");
printf("Digitare la propria scelta\n");
printf("'V' per Visualizzare un appuntamento\n");
printf("'I' per Inserire un appuntamento\n");
printf("'D' per Disdire un appuntamento\n");
printf("'S' per Uscire dall'agenda elettronica\n");
printf("Inserire la propria scelta:\t");
cosa_fare= getchar();//Uso la funzione getchar per inserire i caratteri per la scelta dell'operazione da eseguire
fflush(stdin);
system("cls");
if(cosa_fare == 'v' || cosa_fare == 'V') //Utilizzo il costrutto di controllo if per gestire i vari casi di inseriemnto da parte dell' utente
{
visualizza();
}
if(cosa_fare == 'i' || cosa_fare == 'I')
{
aggiorna();
}
if(cosa_fare == 'D' || cosa_fare == 'd')
{
disdire();
}
if(cosa_fare == 'S' || cosa_fare == 's')
{
printf("Ciao e' stato un piacere esserti stato utile\n");
flag=1;
}
system("pause");
}
return 0;
}
|
|
|
Top |
|
|
SverX Supervisor Macchinisti
Registrato: 25/03/02 11:16 Messaggi: 11572 Residenza: Tokelau
|
Inviato: 06 Lug 2015 10:37 Oggetto: |
|
|
se esegui il programma in un debugger, puoi seguire l'esecuzione del programma riga per riga e, visualizzando il valore che le variabili assumono dopo ogni istruzione, verificare che stia facendo ciò che ti aspetti.
Altrimenti, se non hai un debugger, metti delle printf dentro il tuo ciclo for interno e con la printf stampi il valore delle variabili (il debugger del povero ) e poi dopo ci ragioni e vedi dove non quadra. |
|
Top |
|
|
GG4Core Mortale devoto
Registrato: 02/07/15 16:11 Messaggi: 11
|
Inviato: 06 Lug 2015 11:41 Oggetto: |
|
|
ok ti dirò che ho già fatto in una versione di prova fatto supponiamo di inserire come primo giorno 8 per il mese 8 e l' ora 8,
poi richiamo inserisci, e supponiamo di inserire il giorno 7 per il mese 8 e l' ora 8
e poi richiamo ancora inserisci, e supponiamo di inserire il giorno 10, per il mese 8 e l' ora 8,
il valore contenuto in utente[agenda.indice[i]].giorno[j] , in utente[agenda.indice[i]].giorno[k]
e mio_giorno è 8, e non cambia, quindi quel va in loop |
|
Top |
|
|
GG4Core Mortale devoto
Registrato: 02/07/15 16:11 Messaggi: 11
|
Inviato: 06 Lug 2015 15:57 Oggetto: |
|
|
per capirci meglio ecco cosa vorrei fare
Codice: |
void visualizza()
{
char mia_password[MAX_IMPEGNI];
int i,j;
printf("Inserire Password:\t");
scanf("%s",&mia_password);
for(i=0;i<agenda.num_utenti;i++)
{
if(!strcmp(mia_password,agenda.Password[i]))
{
int mia_ora,mio_mese,mio_giorno;
printf("Inserci l' ora degli appuntamenti :\t");
scanf("%d",&mia_ora);
printf("Inserisci il mese dove cercare:\t");
scanf("%d",&mio_mese);
int count=0;
//Selection Sort of min
selection_sort(i);
j=0; //prima era nel do e giustamente creava un loop infinito
do{
if((mia_ora==utente[agenda.indice[i]].ora[j]) && (mio_mese==utente[agenda.indice[i]].mese[j]))
{
mio_giorno=utente[agenda.indice[i]].giorno[j];
printf("Gli appuntamenti del mese %d del giorno %d dell ora %d sono :\n",mio_mese,mio_giorno,mia_ora);
printf("Impegno %d Descrizione: %s\n",j+1,utente[agenda.indice[i]].description[j]);
count++;
}
j++;
break;
}while(count < utente[agenda.indice[i]].num_impegni || j < MAX_GIORNI );
}
}
}
|
Codice: |
void selection_sort(int i)
{
int k,j;
int mio_giorno;
for(j=0;j<MAX_GIORNI;j++)
{
mio_giorno=utente[agenda.indice[i]].giorno[j];
for(k=j+1;k<MAX_GIORNI;k++)
{
if(utente[agenda.indice[i]].giorno[k] < mio_giorno)
{
mio_giorno=utente[agenda.indice[i]].giorno[k];
utente[agenda.indice[i]].giorno[j]=utente[agenda.indice[i]].giorno[k];
utente[agenda.indice[i]].giorno[j]=mio_giorno;
}
}
}
}
|
Ora dopo aver risolto il loop dando all' inizio un appuntamento in crea_agenda e due appntamenti in aggiorna, mi stampa un unico appuntmento dove mio_giorno assume valore 0 come valore |
|
Top |
|
|
GG4Core Mortale devoto
Registrato: 02/07/15 16:11 Messaggi: 11
|
Inviato: 06 Lug 2015 16:38 Oggetto: |
|
|
come faccio ora? |
|
Top |
|
|
SverX Supervisor Macchinisti
Registrato: 25/03/02 11:16 Messaggi: 11572 Residenza: Tokelau
|
Inviato: 07 Lug 2015 09:44 Oggetto: |
|
|
non vorrei dire ma... stai ordinando gli impegni sui giorni lasciando le descrizioni degli impegni nelle posizioni dove si trovavano prima? |
|
Top |
|
|
GG4Core Mortale devoto
Registrato: 02/07/15 16:11 Messaggi: 11
|
Inviato: 07 Lug 2015 15:38 Oggetto: |
|
|
ciao, finalmente ha ordinato, ma però dopo il primo valore di giorno esatto gli altri li setta a 0, come faccio a risolvere?
Codice: |
void visualizza()
{
char mia_password[MAX_IMPEGNI];
int i,j;
printf("Inserire Password:\t");
scanf("%s",&mia_password);
for(i=0;i<agenda.num_utenti;i++)
{
if(!strcmp(mia_password,agenda.Password[i]))
{
int mia_ora,mio_mese,mio_giorno,k;
printf("Inserci l' ora degli appuntamenti :\t");
scanf("%d",&mia_ora);
printf("Inserisci il mese dove cercare:\t");
scanf("%d",&mio_mese);
int count=1;
//Selection Sort of min
j=0;
do{
if((mia_ora==utente[agenda.indice[i]].ora[j]) && (mio_mese==utente[agenda.indice[i]].mese[j]))
{
mio_giorno=utente[agenda.indice[i]].giorno[j];
mio_giorno=selection_sort(i,mio_giorno);
printf("Gli appuntamenti del mese %d del giorno %d dell ora %d sono :\n",mio_mese,mio_giorno,mia_ora);
printf("Impegno %d Descrizione: %s\n",count,utente[agenda.indice[i]].description[k]);
}
j++;
count++;
}while(count < utente[agenda.indice[i]].num_impegni || j < MAX_GIORNI );
}
}
}
int selection_sort(int i,int mio_giorno)
{
int k,j;
for(j=0;j<MAX_GIORNI;j++)
{
mio_giorno=utente[agenda.indice[i]].giorno[j];
for(k=j+1;k<MAX_GIORNI;k++)
{
if(utente[agenda.indice[i]].giorno[k] < mio_giorno)
{
mio_giorno=utente[agenda.indice[i]].giorno[k];
utente[agenda.indice[i]].giorno[j]=utente[agenda.indice[i]].giorno[k];
return utente[agenda.indice[i]].giorno[j]=mio_giorno;
}
}
}
}
|
cioè considerando che in input inserisca il giorno 8
e poi successivamente il giorno 4, in output viene stampato,4 e a posto di 8 viene stampato 0 |
|
Top |
|
|
SverX Supervisor Macchinisti
Registrato: 25/03/02 11:16 Messaggi: 11572 Residenza: Tokelau
|
Inviato: 08 Lug 2015 11:55 Oggetto: |
|
|
nella selection_sort(), dentro il ciclo for più interno, hai un if che usa la variabile 'mio_giorno' che setti sia prima di entrare nel ciclo sia dentro il ciclo stesso. Non mi sembra corretto...
Guarda l'implementazione della selection sort qui. |
|
Top |
|
|
GG4Core Mortale devoto
Registrato: 02/07/15 16:11 Messaggi: 11
|
Inviato: 09 Lug 2015 11:55 Oggetto: |
|
|
ciao si lo so che ordino i giorno e no la descrizione, ora voglio un atimo ritornare a un problema precedente... perchè se inserisco due appuntamenti poi mi visualizza un terzo dove il giorno è 2015?
Codice: |
/*
Name: Agenda Elettronica
Copyright: 0124000773
Author: Giacomo Gargiulo
Description: Gestione di un agenda elettronica
Si vuole simulare la gestione di un’agenda elettronica contenente appuntamenti.
L’agenda è suddivisa in giorni, per 12 mesi complessivi. Ogni giorno è identificato
da 24 ore. Dato un mese, un giorno e un’ora permettere all’utente di:
• Inserire un appuntamento
• Disdire un appuntamento
Inoltre permettere all’utente di
• Data un’ora visualizzare tutti gli appuntamenti in un mese
*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>
#include<ctype.h>
#define MAX_ORA 23
#define MAX_LUNGHEZZA_STRINGA 50
#define MAX_GIORNI 31
#define MAX_MESE 12
#define MAX_IMPEGNI 5
#define MAX_UTENTE 20
#define MAX_ANNO 2015
struct
{
char Nome[MAX_UTENTE][MAX_LUNGHEZZA_STRINGA];
char Cognome[MAX_UTENTE][MAX_LUNGHEZZA_STRINGA];
int indice[MAX_UTENTE];
int num_utenti;
char Password[MAX_UTENTE][MAX_IMPEGNI];
}agenda;
struct
{
int libero;
int num_impegni;
char description[MAX_IMPEGNI][MAX_LUNGHEZZA_STRINGA];
int ora[MAX_IMPEGNI];
int mese[MAX_IMPEGNI];
int giorno[MAX_IMPEGNI];
int anno[MAX_IMPEGNI];
}utente[MAX_UTENTE]; //facciamo un array di struct per ogni persona
void crea_agenda();
void inizializza();
int controllo_password(char [MAX_IMPEGNI]); // Riferimento per indirizzo del primo elemento dell' array che puo' essere visto come un puntatore
void visualizza();
void disdire();
void aggiorna();
void inizializza()
{
int i,j;
agenda.num_utenti=0;
for(i=0;i<MAX_UTENTE;i++)
{
utente[i].libero=1;
for(j=0;j<MAX_IMPEGNI;j++)
{
utente[i].ora[j]=-1;
}
}
}
void crea_agenda()
{
int n_utente=0;
int loop;
int i,j;
printf("Inserisci il numero di utenti da registrare:\t");
do
{
loop=1;
scanf("%d",&n_utente);
fflush(stdin);
if(n_utente+agenda.num_utenti > MAX_UTENTE)
{
printf("Non posso gestire tutti questi utenti! Ridefinire numeri di utenti:\a\t");
loop=0;
}
}while(loop==0);
agenda.num_utenti=agenda.num_utenti+n_utente;
for(i=agenda.num_utenti-n_utente;i<agenda.num_utenti;i++)
{
printf("Inserire il proprio nome:\t");
scanf("%s",&agenda.Nome[i]);
printf("Inserire il proprio cognome:\t");
scanf("%s",&agenda.Cognome[i]);
do
{
printf("Inserire Password di almeno 4 caratteri:\t");
scanf("%s",&agenda.Password[i]);
}while(strlen(agenda.Password[i])>=MAX_IMPEGNI || controllo_password(agenda.Password[i])==1);
do
{
agenda.indice[i]=rand()%MAX_UTENTE; //GESTIONE RANDOM DELLA POSIZIONE DEGLI UTENTI
}while(utente[agenda.indice[i]].libero!=1);
do
{
loop=1;
printf("Definire il numero di impegni:\t");
scanf("%d",&utente[agenda.indice[i]].num_impegni);
fflush(stdin);
if(utente[agenda.indice[i]].num_impegni > MAX_IMPEGNI)
{
printf("Troppi impegni, Rischi di collassare! Ridefinire impegni:\a\t");
loop=0;
}
}while(loop == 0);
for(j=0;j<utente[agenda.indice[i]].num_impegni;j++)
{
printf("Definire impegno %d.\n",j+1);
do
{
printf("Inserisci l' ora in cui vuoi inserire l' impegno:\t");
scanf("%d",&utente[agenda.indice[i]].ora[j]);
fflush(stdin);
}while(utente[agenda.indice[i]].ora[j] > MAX_ORA || utente[agenda.indice[i]].ora[j] < 0);
do
{
printf("\nInserisci il giorno in cui vuoi inserire l' impegno:\t");
scanf("%d",&utente[agenda.indice[i]].giorno[j]);
fflush(stdin);
}while((utente[agenda.indice[i]].giorno[j] > MAX_GIORNI) || (utente[agenda.indice[i]].giorno[j] <= 0));
do
{
printf("\nInserisci l' anno in cui vuoi inserire l' impegno:\t");
scanf("%d",&utente[agenda.indice[i]].anno[j]);
fflush(stdin);
}while(utente[agenda.indice[i]].anno[j] < MAX_ANNO);
do
{
printf("\nInserisci il mese in cui vuoi inserire l' impegno:\t");
scanf("%d",&utente[agenda.indice[i]].mese[j]);
fflush(stdin);
}while(utente[agenda.indice[i]].mese[j] > MAX_MESE || utente[agenda.indice[i]].mese[j] <= 0);
printf("\nInserisci la descrizione del tuo impegno %d:\t",j+1);
scanf("%s",&utente[agenda.indice[i]].description[j]);
system("cls");
}
}
}
int controllo_password( char buffer[MAX_IMPEGNI]) //Passaimo il primo indirizzo dell' array mia_password
{
int i;
int count=0;
for(i=0;i < agenda.num_utenti ;i++ )
{
if(!strcmp(buffer,agenda.Password[i]))
{
count++;
if(count>1)
{
return 1;
}
}
}
return 0;
}
void visualizza()
{
char mia_password[MAX_IMPEGNI];
int i;
printf("Inserire Password:\t");
scanf("%s",&mia_password);
for(i=0;i<agenda.num_utenti;i++)
{
if(!strcmp(mia_password,agenda.Password[i]))
{
int mia_ora,j,mio_mese;
do
{
printf("Inserci l' ora degli appuntamenti :\t");
scanf("%d",&mia_ora);
printf("Inserisci il mese dove cercare:\t");
scanf("%d",&mio_mese);
}while(mia_ora < 0 && mia_ora > MAX_ORA && mio_mese < 0 && mio_mese > MAX_MESE);
int count=1;
j=0;
do{
if((mia_ora==utente[agenda.indice[i]].ora[j]) && (mio_mese==utente[agenda.indice[i]].mese[j]))
{
printf("Gli appuntamenti del mese %d del giorno %d dell ora %d sono :\n",mio_mese,utente[agenda.indice[i]].giorno[j],mia_ora);
printf("Impegno %d Descrizione: %s\n",count,utente[agenda.indice[i]].description[j]);
count++;
}
j++;
}while(count<=utente[agenda.indice[i]].num_impegni || j < MAX_GIORNI );
break;
}
}
}
|
|
|
Top |
|
|
SverX Supervisor Macchinisti
Registrato: 25/03/02 11:16 Messaggi: 11572 Residenza: Tokelau
|
Inviato: 10 Lug 2015 09:43 Oggetto: |
|
|
se inserisci due appuntamenti e dopo l'ordinamento ne trovi 3, allora il tuo ordinamento ha un serio problema... |
|
Top |
|
|
|
|
Non puoi inserire nuovi argomenti Non puoi rispondere a nessun argomento Non puoi modificare i tuoi messaggi Non puoi cancellare i tuoi messaggi Non puoi votare nei sondaggi
|
|