Zadania z C/C++

0

Poprzedni teamy mój został usunięty, dlatego siadłem i zrobiłem coś sam.
Otóż dostałem 3 zadania z programowania na jutro na dodatkowe pkt na studiach.
Jest to mój pierwszy rok i raczej ostatni.

Tak więc bardzo bym prosił o jakaś inf czy zmierzam poprawnie i czy dobrze rozumiem zadania:

 // komentarz jednowierszowy
/*komentarz 
  wielowierszowy  */

#include <cstdlib>    // dyrektywy
#include <iostream>
#include <conio.h>

using namespace std; // krótkie nazwy

int main()  // funkcja main() - program główny
{                       // {} nawiasy programowe - begin end
   int a,b;
   float x,y;
   char znak1,znak2;
   a=10;
   b=3;
   x=4.23;
   znak1='$';
  
   cout<<"to jest moj pierwszy program w C/C++ ";
   cout<<endl;   // przejście do nowej linii
   cout<<"Drugi wiersz"<<endl<<endl<<endl;
   cout<<"a="<<a;
   cout<<"\nx="<<x;
   cout<<"\nznak1="<<znak1;
   cout<<"\nb="<<b;
   cout<<"\ny="<<y;
   cout<<"\nznak2="<<znak2;
   b=znak2;
   cout<<"\nkod znaku znak2 wynosi "<<b;
   
   cout<<"\npodaj liczbe calkowita b="; cin>>b;
   cout<<"podales b="<<b;

cout<<"\n\n\n\n\n\n";
   cout<<"\n7+x*(3-a)="<<7+x*(3-a);     //ZADANIE 1
   cout<<"\na/b+x=)="<<a/b+x;
   
   cout<<"\n\n\n\n\n";
   
   
   x=a;
   cout<<"a="<<x;  //ZADANIE 2 CZESCIOWO
   
   cout<<"\n\nPodaj liczbe calkowita a="; cin>>a;
   cout<<"podales a="<<a;                   // ZADANIE 3 CZESCIOWO

 /*
   zadanie1. Oblicz i wyswietl wartosci wyrażeń:
             7+x*(3-a)
             a/b+x
   zadanie2. Wykonaj operację przypisania wartości zmiennej
             typu float do zmiennej typu int.
   zadanie3. Dokonaj zamiany zawartości zmiennych a oraz b.   */           
   
   cout<<"\n\n\n\n\n\nNacisnij cokolwiek aby kontynuowac ...."; // \n jak endl
   getch();  // wczytanie znaku z klawiatury
   // system("PAUSE");
    return 0;   // zwrócenie do SO inf. o poprawnym zakończeniu działania
}
0

Koszmarny kod, ale zasadniczo jest ok. Jeśli chodzi o zadanie 3 to najprościej będzie ze zmienna pomocniczą:
tmp = a
a = b
b = tmp

0

Do drugiego (i do trzeciego też w sumie) możesz wykorzystać coś takiego:

 
int liczbaI;
long liczbaL;

cout << "Podaj liczbe: ";
cin >> liczbaL;

liczbaI = (int) liczbaL;
if (liczbaI == liczbaL) 
   cout << "Podana liczba jest całkowita";
else
   cout << "..";
0

Zadanie drugie jest zrobione na odwrót.

0

Z programowaniem mam doczynienia 7 dni, więc nie oczekujcie kodów z kosmosu :P ale dzięki że potwierdziliście że idę dobrym krokiem, 5 pkt wpadnie.
Dzięki :)

0

Jest to mój pierwszy rok i raczej ostatni.

Idzie Ci lepiej niż połowie proszących o pomoc na forum. Umiesz rozwiązywać równania ;)

0

Witajcie Ponownie,
Mam nowe zadanie a oto jego treść:

napisać program wyświetlający największą z trzech liczb; dane wprowadzić z klawiatury;

Program napisałem i ku mojemu zdziwieniu działa, lecz przy uruchomieniu tak
jakby zawieszał się na parę sekund po czym odzyskuje sprawność.
Może to być spowodowane drobnym błędem w kodzie?

 #include <cstdlib>    
#include <iostream>
#include <conio.h>

using namespace std; 

int main()  
{                       

 int x,y,z;
 
 cout<<"Podaj pierwsza liczbe:"; cin>>x;
 cout<<"\nPodaj druga liczbe:"; cin>>y;   
 cout<<"\nPodaj trzecia liczbe:"; cin>>z;    
  
  
   if(x>y && x>z) 
     { cout<<" Najwieksza liczba to:"<<x;
     }          
      
     if(y>x && y>z)
         {
              cout<<" Najwieksza liczba to:"<<y;
        }
      
      
      else
      { cout<<"\n Najwieksza liczba to:"<<z;
      }
      
      
        
   cout<<"\n\n\n\n\n\nNacisnij cokolwiek aby kontynuowac ...."; 
   getch();  
   // system("PAUSE");
    return 0;   
0
  1. Formatuj kod jak człowiek. Wcięcia mają ułatwiać a nie utrudniać czytanie.
  2. Jedna instrukcja na linię!
  3. Kod jest ok. Ta "zwiecha" to pewnie skanowanie antywirusem.
0

Kod jest błędny:
Po pierwsze nie skompiluje się ponieważ brakuje klamerki na końcu.
Po drugie przy podaniu liczb 3 2 1 odpowiednio dostaniesz głupi wynik: http://ideone.com/Xjmbbv

0

dzięki, zamiast tego else dodałem kolejne if i teraz przy wprowadzaniu 3,2,1 działa prawidłowo.

 if(z>x && z>y)
      { cout<<"\n Najwieksza liczba to:"<<z;
      }

1 użytkowników online, w tym zalogowanych: 0, gości: 1