Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C] problema con il file eseguibile del programma

    Salve a tutti, qui di seguito è riportato il mio programma in C che dovrebbe generare delle operazioni a caso + - * / e vedere se il risultato dato dall'utente è giusto; nella compilazione con dev c++ non mi da errori ma quando faccio partire l'eseguibile mi si impalla e Windows 7 cerca una soluzione del problema e poi me lo fa chiudere senza avere trovato una possibile soluzione; non capisco quale sia il problema con altri programmi l'eseguibile mi parte quindi penso che sia circoscritto a questo programma.
    [/CODE]
    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>
    #include <time.h>
    #include <string.h>

    int main()
    {
    char c[]={'+','-','*','/','\0'},risp;
    int a=0,b=0,x=0;
    float risultato=0;
    do{
    system("cls");
    //generazione casuale dei operatori
    srand((unsigned) time(NULL));
    x=rand()/(RAND_MAX*3);
    a=(rand()/(RAND_MAX*10)+1);
    b=(rand()/(RAND_MAX*10)+1);
    printf("%d %s %d =",a,c[x],b);
    scanf("%f",&risultato);
    do{
    //Controllo se il risultato è uguale a quello inserito dall'utente
    if(x==0&&risultato==a+b){
    printf("\nComplimenti il risultato %0.2f corretto!!!",risultato);
    _getch();
    break;
    }

    if(x==1&&risultato==a-b){
    printf("\nComplimenti il risultato %0.2f corretto!!!",risultato);
    _getch();
    break;
    }

    if(x==2&&risultato==a*b){
    printf("\nComplimenti il risultato %0.2f corretto!!!",risultato);
    _getch();
    break;
    }

    if(x==3&&risultato==a/b){
    printf("\nComplimenti il risultato %0.2f corretto!!!",risultato);
    _getch();
    break;
    }

    else{
    printf("\nRisultato errato");
    _getch();
    break;
    }
    }while(1);
    printf("\n\nVuoi continuarre premi si o no");
    risp=_getch();
    }while(risp=='s'||risp=='S');
    return 0;
    }
    [\CODE]

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    printf("%d %c %d =",a,c[x],b);
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Grazie adesso il programma parte ma a video l'operazione che stampa è sempre 1+1 e non capisco il perchè...Un altra cosa come posso fare un post con il codice e rispettare l'intestazione del programma?

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Il problema è legato a come ottieni i valori random ... controlla le formule che hai usato ...
    Inoltre, la funzione srand va usata una sola volta, all'inizio, fuori dal ciclo.

    Utilizza i tag CODE per il codice (ma non come l'hai usato tu ... per capirci, usa il tasto # dell'editor del forum).
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.