string , zwracanie wartosci

0

case 1: std::cout<<"Wybrale\230 wiadomo\230\206 numer jeden."<<std::endl;
{
std::string strMMSI;
std::cout<<"Podaj sw\242j MMSI (kod 9-cyfrowy):";
std::cin>>strMMSI;
std::cout<<"Twoje MMSI to:"<<(strMMSI,1,9)<<"."<<std::endl;
getch();
}

moze mi ktos powiedziec dlaczego wprowadzony ten kod mmsi zawsze zwraca mi 9?:S chcialbym zeby zwracal mi 9 pierwszy podanych cyferek. gdzie mam blad!! dzieki z gory za pomoc

0

a co to niby jest
(strMMSI,1,9)
? może tam jakieś substr miało być przed tym? o_O
A zwraca 9 bo operator przecinka tak działa po prostu ;] cout<< dostaje tylko ostatni (skrajny prawy) argument.

0

wyczytalem ze pierwsza liczba po przecinku to nr litery od ktorej zacznie sie wyswietlanie, a druga to liczba znakow wyswietlonych:P

0
alwayslags napisał(a)

wyczytalem ze pierwsza liczba po przecinku to nr litery od ktorej zacznie sie wyswietlanie, a druga to liczba znakow wyswietlonych:P

Tak w python'ie na listach :D

W Twoim przypadku to o czym Shalom napisal, czyli substring:

std::cout << strMMSI.substr(0, 8) << std::endl;
0

witam, dzisiaj mam juz nowy problem, chce napisac funkcje fdokladnosc=sqrt((pow(fdokladnosc1,2)+pow(fdokladnosc2,2))) jednak program caly czas mi wywala sie w ktoryms miejscu, nie wiem czy cos zle mam zapisane czy nie:(

				{
		void PA (int nDokladnosc, double nDokladnosc1,double nDokladnosc2);
			{
				int fDokladnosc1;
				std::cout<<"Podaj mo\276liwy b\210\245d pomiaru szeroko\230ci geograficznej(zakres podawany w metrach):"<<std::endl;
				std::cin>>fDokladnosc1;
				int fDokladnosc2;
				std::cout<<"Podaj mo\276liwy b\210\245d pomiaru d\210ugo230ci geograficznej(zakres podawany w metrach):"<<std::endl;
				std::cin>>fDokladnosc2;

				int fDokladnosc= sqrt(pow(fDokladnosc1,2) + pow(fDokladnosc2,2));
				if
					(fDokladnosc<=10)
				{
					std::cout<<"Dok\210adno\230\206 ma\210a, wsp\242\210czynnik PA= 1"<<std::endl;
					getch();
				}
				
				else
				{
					std::cout<<"Dok\210adno\230\206 du\276a, wsp\242\210czynnik PA= 0"<<std::endl;
				getch();
			}
	

kod tej czesci programiku=]
prosze o pomoc!

0

Po pierwsze:
http://www.cplusplus.com/reference/clibrary/cmath/sqrt/
więc musisz rzutować.
A po drugie gdzie Ci się wywala, debugera nie masz? :(

0
alwayss napisał(a)

wywala mi:

Error 5 error C2668: 'pow' : ambiguous call to overloaded function

ok juz poprawione,:) niepomyslalem o tym ze int to l. calkowite, wystarczylo zmienic na float=]

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