logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak uruchomić NWD lub silnię z osobnych plików w C++ w konsoli?

winfast29 05 Sty 2010 15:41 1140 5
REKLAMA
  • #1 7488776
    winfast29
    Poziom 9  
    Posty: 32
    Witam!

    Mam taki problem.

    Polecenie brzmi tak:

    "Napisz program umożliwiający wybór i wykonanie obliczenia następującyh wielkości":
    1.NWD
    2.Silnia

    Załóżmy, że mam dwa osobne pliki z kodem do każdego programu(pojedynczo działają).
    Jak to zrobić w trybie konsolowym w C++?

    Jestem nowicjuszem

    Z góry dziękuję!
  • REKLAMA
  • #2 7488903
    Marcin1326
    Poziom 13  
    Posty: 120
    Pomógł: 2
    Ocena: 39
    A muszą to być dwa różne programy? Jeśli nie, to najlepiej byłoby użyć do tego celu instrukcji switch i pytać użytkownika czy chce liczyć NWD czy silnię i w zależności od wyboru wykonywać odpowiednie instrukcje. Wtedy wszystko będzie w jednym pliku, a będzie działało tak jak potrzebujesz.
  • REKLAMA
  • #3 7489025
    winfast29
    Poziom 9  
    Posty: 32
    A mógłbym prosić o przykładowy kod?
  • REKLAMA
  • #4 7489404
    krzychoocpp
    VIP Zasłużony dla elektroda
    Posty: 1866
    Pomógł: 387
    Ocena: 58
    Język C++ nie jest tajemnicą tybetańskich mnichów. W internecie można bez problemu znaleźć przykłady: http://lmgtfy.com/?q=c%2B%2B+switch
  • REKLAMA
  • Pomocny post
    #5 7489459
    Marcin1326
    Poziom 13  
    Posty: 120
    Pomógł: 2
    Ocena: 39
    Udało mi się odgrzebać jakiś programik, ale napisany jest w C. Oczywiście skompiluje się także w kompilatorze C++.

    #include <stdio.h>
    //#include <stdlib.h>
    
    float pole_prostokata(float a, float b) 
    {
    return a*b;
    }
    
    float pole_kola(float r) 
    {
    return 3.14*r*r;
    }
    
    float pole_trojkata(float a, float h) 
    {
    return a*h/2;
    }
    
    
    int main()
    {
    char zapytanie,co;
    float a, b, r, h;
    
    printf("\nProgram liczy, pole prostokata, kola lub trojkata\n");
    
    do
    {
        do
        {	
    	printf("\nCo chcesz policzyc? Wpisz: \n");
    	printf("p - pole prostokata\n");
    	printf("k - pole kola\n");
    	printf("t - pole trojkata\n");
    	printf("\nTwoj wybor: ");
    	
    	scanf(" %c", &zapytanie);
        }while(zapytanie != 'p' && zapytanie != 'k' && zapytanie != 't');
        
        switch(zapytanie)
       {
    	case 'p':
    	    printf("\nPodaj dlugosc pierwszego boku: ");
    	    scanf(" %f", &a);
    	    printf("\nPodaj dlugosc drugiego boku: ");
    	    scanf(" %f", &b);
    	    if(a > 0 && b > 0) printf("\nPole prostokata o bokach %f x %f wynosi %f\n",a,b, pole_prostokata(a,b) );
    		else printf("a i b musza byc dodatnie!\n");
    	break;
        
    	case 'k':
    	    printf("\nPodaj dlugosc promienia kola: ");
    	    scanf(" %f", &r);
    	    if(r > 0) printf("\nPole kola o promieniu %f wynosi %f\n",r, pole_kola(r) );
    	    else printf("promien musi byc dodatni!\n");
    	break;
        
    	case 't':
    	    printf("\nPodaj dlugosc boku: ");
    	    scanf(" %f", &a);
    	    printf("\nPodaj dlugosc padajacej na niego wysokosci ");
    	    scanf(" %f", &h);
    	    if(a > 0 && h > 0) printf("\nPole trojkata o boku %f i wysokosci %f wynosi %f\n",a,h, pole_trojkata(a,h) );
    		else printf("a i h musza byc dodatnie!\n");
    	break;
        }
        
        do
        {
           printf("\nCzy chcesz policzyc cos jeszcze raz? Wpisz\n\nt - tak\nn - nie \n\nTwoj wybor: ");
    	scanf(" %c", &zapytanie);
    	printf("\n\n");
        }while(zapytanie != 't' && zapytanie != 'n');
        
    }while(zapytanie == 't');
    
    return 0;
    }
  • #6 7490842
    winfast29
    Poziom 9  
    Posty: 32
    Mam 2 programy mógłby ktoś to połączyć w całość?
    Muszę mieć w C++

    1)

    
    #include <iostream>
    
    int fib (int n);
    
    int main()
    {
    
         int n, answer;
         std::cout << "Podaj numer elementu ciagu: ";
         std::cin >> n;
    
         std::cout << "";
    
         answer = fib(n);
    
         std::cout << "Wartoscia " << n << "-go elementu ciagu ";
               std::cout << "Fibonacciego jest " << answer << "";
         return 0;
    }
    
    int fib (int n)
    {
         std::cout << "Przetwarzanie fib(" << n << ")... ";
    
         if (n < 3 )
         {
               std::cout << "Zwraca 1!";
               return (1);
         }
         else
         {
               std::cout << "Wywoluje fib(" << n-2 << ") ";
                     std::cout << "oraz fib(" << n-1 << ").";
               return( fib(n-2) + fib(n-1));
         }
    }
    


    2)

    
    # include <stdio.h>
    # include <conio.h>
    
    int Euklides(int a,int b)
    {
    if (b==0) return(a);
    else return(Euklides(b,a%b));
    }
    
    main()
    {
    int a,b;
    printf("Wpisz pierwsza liczbe:...");
    scanf("%d",&a);
    printf("Wpisz druga liczbe:...");
    scanf("%d",&b);
    printf("Ich najwiekszy wspolny dzielnik to: %d ", Euklides(a,b));
    getch();
    }
    
    
    
REKLAMA