Problem poczatkujacego z for oraz innym programem.

0

Witam wszystkich! Otóż najpierw przedstawię wam treść zadania:

1. Stwórz program, który poprosi użytkownika o liczbę całkowitą i przyporządkuje ją
do jednego z czterech przedziałów: liczb ujemnych, jednocyfrowych,
dwucyfrowych lub pozostałych.

Ja zrobiłem coś takiego:

/*

Przykład zastosowania funkcji

*/
#include <StdAfx.h>
#include <iostream>
#include <conio.h>
#include <string>
#include <ctime>






void main()
{

	int nLiczba;
std::cout << " Podaj liczbe";
std::cin >> nLiczba;

if (nLiczba < 0)
{
	std::cout << " Liczba jest ujemna ";
}
else
{
	std::cout << " Liczba jest dodatnia ";
}

if (nLiczba >= 10)
{
	std::cout << " Liczba jest dwucyfrowa";
}


if (nLiczba <= -10)
{
	std::cout << " Liczba jest dwucyfrowa";
}
else
{ 
	std::cout << " Liczba jest jednocyfrowa";
}



getch();
}

Przyporządkowywuje mi do ujemnych i dodatnich dobrze, tak samo jak np. dam -11 to jest że ujemna dwucyfrowa, -9 to ujemna, jednocyfrowa. 1 dodatnia jednocyfrowa ale np. 11 to wyskakuje dodatnia, dwucyfrowa, jednocyfrowa.Nie wiem jak to naprawić :/

2. Napisz aplikację wyświetlającą listę liczb od 1 do 100 z podanymi obok
wartościami ich drugich potęg (kwadratów).
Jaką pętlę – do, while czy for – należałoby tu zastosować?

Tutaj coś z pętlą for, i nie wiem jak się za to zabrać.
Nie liczę od razu na gotowy kod ale wskazówki jakieś.

3. Zmodyfikuj program przykładowy prezentujący pętlę while. Niech zlicza on próby
zgadnięcia liczby podjęte przez gracza i wyświetla na końcu ich ilość.

Tu też pętla for ale nie mam pojęcia jak zrobić w tym licznik:

/*

Przykład zastosowania funkcji

*/
#include <StdAfx.h>
#include <iostream>
#include <conio.h>
#include <string>
#include <ctime>



void main()
{

int nSuma = 0;



srand ((int) time(NULL));
int nWylosowana = rand() % 10 + 1;

int nWprowadzona;
std::cout << " Witaj w Number Thieft Auto I " << std::endl;
std::cout << " Wprowadz liczbe z przedzialu 1-10 ";
std::cin >> nWprowadzona;

while (nWprowadzona !=nWylosowana)
{
	if(nWprowadzona > nWylosowana)
	
		std::cout << " Liczba jest za duza ";
	    
	for (int i = 1; i++)
    nSuma += i;
	
	std::cout << " Liczba ile razy niezgadles: " << nSuma << " . ";
	
	
	else 
	
        std::cout << " Liczba jest za mala ";
	    std::cout << " Liczba ile razy niezgadles: " << /* tu ma byc zmienna licznika */;
	    std::cout << " Sprobuj jeszcze raz: ";
        
		std::cin >> nWprowadzona;
}
std::cout << " Zgadles " << std::endl;



		


getch();
}

Z góry dziękuje za pomoc!

Na forum nie używamy [code]. Używamy <code>, <code class="cpp"> w tym przypadku - msm

0

Ad 1. Masz problemy z czytaniem, wg mnie jasne napisano: - "... przyporządkuje ją do jednego z czterech przedziałów ..."

if (nLiczba<0) std::cout<<"Ujemna ";
else if (nLiczba<10) std::cout<<"Jednocyfrowa";
else if (nLiczba<100) std::cout<<"Dwucyfrowa";
else std::cout<<"Pozostała";

Ad 2. Tą którą umiesz, najmniej kodu i czytelniej - for

Ad 3. ++nSuma; na samym początku pętli.

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