Programma c....aiuto

di il
58 risposte

58 Risposte - Pagina 3

  • Re: Programma c....aiuto

    Non può essere ...
  • Re: Programma c....aiuto

    È giusto come ho fatto?
    Allegati:
    18603_768622c4442e6f4a8dd7d189cf38700b.tiff
    18603_768622c4442e6f4a8dd7d189cf38700b.tiff
  • Re: Programma c....aiuto

    Non si veeeede ... !
  • Re: Programma c....aiuto

    Va bene cosi?
    Allegati:
    18603_867f8fd268bd528a931d1cebaa39a2a1.tiff
    18603_867f8fd268bd528a931d1cebaa39a2a1.tiff
  • Re: Programma c....aiuto

    Ok?
    Allegati:
    18603_a86972ff806254b06965d802e67a47cc.tiff
    18603_a86972ff806254b06965d802e67a47cc.tiff
  • Re: Programma c....aiuto

    Ma perché non fai un copia incolla ? Avrei da fare ...
  • Re: Programma c....aiuto

    #include <stdio.h>
    #include <stdlib.h>
    #define MAXCHAR 10
    void mainmenu();
    void creazionefidelitycard(int *numerofidelitycards);
    void nuovoacquisto(int numerofidelitycards);
    int contapunti (int importo_nuovoacquisto,int numerofidelitycards);
    int saldopunti(int importo_nuovoacquisto,int numerofidelitycards);
    //void visualizzazionefidelitycards(int numerofidelitycards);
    //void visualizzazioneestrattopunti(int numerofidelitycards);
    
    
    
    struct fidelity_card{
    int id;
    char nome[MAXCHAR];
    char cognome[MAXCHAR];
    int data_nascita;
    }fidelitycards[10];
    
    
    
    
    
    int main()
    {
        mainmenu();
        return 0;
    }
    
    void mainmenu(){
    int numerofidelitycards=1;
    int azione;
    do {
            printf("Gestione fidelity card \n\n");
            printf("1 - Creazione di una nuova fidelity card\n");
            printf("2 - Nuovo acquisto\n");
            printf("3 - Utilizzo punti\n");
            printf("4 - Visualizza Fidelity card\n");
            printf("5 - Visualizzazione estratto punti\n");
            printf("0 - Esci\n");
            printf("Inserisci la scelta -> ");
            scanf("%d", &azione);
    
            //Controllo scelta
            switch(azione) {
            case 0:
                printf("Arrivederci!");
                break;
            case 1:
                system("cls");
                creazionefidelitycard(&numerofidelitycards);
                break;
            case 2:
                system("cls");
                nuovoacquisto(numerofidelitycards);
                break;
           /* case 3:
                system("cls");
    
                break;
            case 4:
                system("cls");
                 visualizzazionefidelitycards(numerofidelitycards);
                break;
            case 5:
                system("cls");
                visualizzazioneestrattopunti(numerofidelitycards);
                break;*/
            default:
                printf("Azione non valida");
            }
        } while (azione != 0);
    
    
    
    }
    
    
    void creazionefidelitycard(int *numerofidelitycards){
    
    //int *numerofidelitycards=1;
    fflush(stdin);
    
    printf("crea nuova fidelity card\n");
    fidelitycards[*numerofidelitycards].id=*numerofidelitycards;
    printf("inserisci cognome max %d caratteri \n",MAXCHAR);
    gets(fidelitycards[*numerofidelitycards].cognome);
    printf("inserisci nome max %d caratteri \n",MAXCHAR);
    gets(fidelitycards[*numerofidelitycards].nome);
    printf("inserisci data di nascita");
    scanf("%d",&fidelitycards[*numerofidelitycards].data_nascita);
    
    
    
    printf("\nFidelity card creata correttamente!!\n\n");
    printf("CODICE FIDELITY CARD NUMERO %d \n", fidelitycards[*numerofidelitycards].id);
    
    
            *numerofidelitycards += 1;
            system("PAUSE");
            system("cls");
    
    
    }
    
    void nuovoacquisto(int numerofidelitycards){
        int id;
        int i;
        char azione;
        char data_nuovo_acquisto[MAXCHAR];
        int importo_nuovoacquisto;
    
                          // fflush(stdin);
    
    
    
               printf("inserire codice fidelity card ");
    
               scanf("%d",&id);
    
    
    
    
                    for(i = 1; i <= numerofidelitycards; i++) {
                        if(fidelitycards[i].id==id) {
                            printf("%s\t%s\t%d", fidelitycards[i].cognome, fidelitycards[i].nome, fidelitycards[i].data_nascita);
                        }
                    }
                    fflush(stdin);
    
                   printf("Confermare i dati?. Procedere? Y/N -> ");
                   scanf("%c", &azione);
    
                     if(azione=='y' || azione=='Y'){
                    fflush(stdin);
                    printf("inserisci data nuovo acquisto\n");
                    gets(data_nuovo_acquisto);
                    fflush(stdin);
                   printf("inserisci importo nuovo acquisto\n");
                   scanf("%d",&importo_nuovoacquisto);
    
                   printf("i nuovi punti fedelta' sono %d mentre il saldo punti e' %d ",contapunti(importo_nuovoacquisto,numerofidelitycards),saldopunti(importo_nuovoacquisto,numerofidelitycards));
    
    
                    system("PAUSE");
                system("cls");
                }else if(azione=='n' || azione=='N'){
    
                printf("\nNon hai confermato i dati\n\n");
    
                system("PAUSE");
                system("cls");
    
    
    
    
    
                }else{
    
                printf("carattere non ammesso");
                system("PAUSE");
                system("cls");
    
                }
    
    
                }
    
    
    
    
    
    
    
    
    int contapunti (int importo_nuovoacquisto,int numerofidelitycards) {
        //Variabili
    
        int i;
        int punti;
    
    
    
        for(i = 1; i<= numerofidelitycards; i++) {
    
                punti= importo_nuovoacquisto*5/100;
    
    
        }
        return punti;
    
    }
    
    int saldopunti (int importo_nuovoacquisto,int numerofidelitycards) {
        //Variabili
        int punti;
        punti=contapunti(importo_nuovoacquisto,numerofidelitycards);
        int i;
        int saldo;
    
        for(i = 1; i<= numerofidelitycards; i++) {
    
                saldo= saldo+punti;
    
        }
        return saldo;
    }
    
    
    visualizzazionefidelitycards(int numerofidelitycards){
    
    int i;
    
    for(i=1;i<numerofidelitycards;i++){
    
        printf("codice : %i,cognome cliente %s,saldo punti%i",fidelitycards[i].id,fidelitycards[i].cognome);
    
        system("PAUSE");
        system("cls");
    }
    
    
    
    }
    
    /*void visualizzazioneestrattopunti(int numerofidelitycards){
    int id;
    int i;
    char data_nuovo_acquisto[MAXCHAR];
    int importo_nuovoacquisto;
    
    printf("inserisci id fidelitycards");
    scanf("%d",&id);
    for(i=1;i<numerofidelitycards;i++){
    if(fidelitycards[i].id==id){
    
    
        printf("%s,%d,%d",data_nuovo_acquisto,importo_nuovoacquisto,contapunti(importo_nuovoacquisto,numerofidelitycards));
    }
    }
    
    }*/
    
  • Re: Programma c....aiuto

    Per compilare compila ... che problemi hai? Cerca di essere chiaro ed esauriente ....
  • Re: Programma c....aiuto

    Non si trova il saldo.....i punti sono 5.....e dovrebbe essere anche 5 il primo saldo.....invece mi da 10.....
  • Re: Programma c....aiuto

    Meno male che sei stato esauriente ...

    Cosa faccio io per controllare? Esattamente quali valori inserisco?
  • Re: Programma c....aiuto

    Ahahah hai ragione....se inserisci 100 come importo ti da 5 punti ed è giusto perché il 5% di 100 è 5...e il saldo però non si trova
  • Re: Programma c....aiuto

    Intanto saldo deve avere un valore di partenza

    int saldo=0;

    Per il resto, non so che criteri segui nel programma ...
  • Re: Programma c....aiuto

    Anche con saldo = 0 non va....la traccia dice che sull'importo messo il 5% si trasforma in punti ovvero su 100 euro 5 sono i punti.....calcolapunti funziona mentre calcolasaldo no.....su 100 che metto 5 punti mi da e quindi ok mentre il saldo 10...invece dovrebbe essere 5
  • Re: Programma c....aiuto

    Questo succede perché fai quella for in cui numerofidelitycards vale 2 e quindi raddoppi il saldo
  • Re: Programma c....aiuto

    Dove lo vedi che nella for raddoppio?
Devi accedere o registrarti per scrivere nel forum
58 risposte