2014-09-18 3 views
-1

У меня возникли проблемы с моим синтаксисом для вызова srand для вставки случайных чисел для проблемы с добавлением? попытался найти аналогичную программу для просмотра синтаксиса без везения.Использование srand для вставки случайных чисел

#include<stdio.h> 
#include"simpleio.h" 

int main() 
{  
    // int seed;scanf("%d",&seed); 
    // srand((unsigned)seed); 

     int decision,n,o ; 
    // scanf("%d", &n); 
    // srand((unsigned)n); 


    do{ 
     printf("1.Give me an addition problem.\n" 
       "2.Give me a subtraction problem.\n" 
       "3.Give me a multiplication problem.\n" 
       "4.Quit\n"); 
     scanf("%d", & decision); 
     } while (decision>5 && decision<0); 

    if (decision==1) 
    { 
     printf("1+1= "); 
    } 
    else if (decision==2) 
    { 
     printf("1-2\n"); 
    } 
    else if (decision==3) 
    { 
     printf("1*2\n"); 
    } 
    else if(decision==4) 
    { 
     printf("\n"); 
    } 

return 0; 
} 
+1

'решение> 5 && решений <0' всегда ложно. изменить на 'решение> 4 || Решение <1' – BLUEPIXY

+1

Вы не сказали нам, какая у вас проблема. Ваши вызовы 'srand' закомментированы. Ваш код компилируется с ними или без них (после удаления неиспользуемого '#include" simpleio.h "'). Вы должны вызывать только 'srand()' один раз, прежде чем делать какие-либо вызовы 'rand()'. И если вы читаете семя от пользователя, вы можете также объявить семя как 'unsigned', поэтому вам не нужно его преобразовывать. Что именно вы спрашиваете? –

+0

Я не знаю, как использовать srand для вставки двух случайных целых чисел в проблему с добавлением keith. моя проблема заключается в настройке srand-вызова, я никогда не использовал этот вызов before.pls, не смейтесь, да, я довольно новичок в программировании, и мне нужна некоторая информация о том, как использовать и настраивать srand для выполнения действия по размещению двух случайных целые числа, которые нужно добавить. Можно ли мне помочь в настройке и кратко объяснить кеит? – cyerocks

ответ

0

В подобных задачах, желательно сделать это с switch case:

#include <stdio.h> 
#include <string.h> 

main() 
{ 
    int decision; 

    do{ 
     printf("1.Give me an addition problem.\n" 
       "2.Give me a subtraction problem.\n" 
       "3.Give me a multiplication problem.\n" 
       "4.Give me a division problem.\n" 
       "5.Quit\n"); 
     scanf("%d", & decision); 
     } while (decision >5 || decision <= 0); // correct your condition 

    // generate two random numbers for the operation 
    srand(time(NULL)); 
    int a = rand()%20 + 1; // random between 1 and 20 
    int b = rand()%20 + 1; // random between 1 and 20 

    switch(decision) 
    { 
     case 1: //addition 
     printf("%d + %d = %d\n", a, b, a+b); 
     break; 

     case 2: //subtraction 
     printf("%d - %d = %d\n", a, b, a-b); 
     break; 

     case 3: //multiplication 
     printf("%d * %d = %d\n", a, b, a*b); 
     break; 

     case 4: //division 
     printf("%d/%d = %d, and remainder = %d\n", a, b, a/b, a%b); 


     default : 
     break; 
    } 

    return; 
} 

я включал разделение в качестве бонуса

+0

спасибо chouaib !!! – cyerocks

+0

@cyerocks, рад, что это помогло, я просто не хочу получать UpVote/Accept;) – chouaib

Смежные вопросы