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

a nie prościej zamiast tych ifów:

 std::cout << "Najwieksza liczba: " << std::max(x, std::max(y, z)) << std::endl; 

??

0

Nie, ponieważ profesor od programowania kapnie sie ze sam tego nie robilem :D Musze uzywac tych rzeczy które poznałem na wykładzie.

0

To sobie napisz swoją funkcję max, przecież to raptem 1 linijka. :| Chociaż nie rozumiem, cout możesz używać a innych funkcji z biblioteki standardowej już nie?
Faktycznie, biorąc pod uwagę twoje podejście, to rzeczywiście pewnie twój ostatni rok studiów.

0

Poszedłem za dziewczyną, i tylko jeden semestr będę na inf, później wyjeżdzam, dlatego nic mi po tym że sam się będę uczył czegoś co mnie kompletnie nie interesuje, no może grafika. No ale to forum nie jest od takich gadaniny. Bardzo dziękuje za wszelką waszą pomoc.

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