1. Jordan Belfort12.03.2025 в 18:34от
Загрузка...

можете помочь новичку))

Тема в разделе "Программирование", создана пользователем goglmogl, 16.09.2012.

  1. goglmogl

    goglmogl

    Статус:
    Оффлайн
    Регистрация:
    01.08.12
    Сообщения:
    27
    Репутация:
    4 +/-
    хотел написать калькулятор :D
    sqrt не робит и цикл не останавливается
    ( не черес switch Записал)

    Код:
    #include "stdafx.h"
    #include "iostream"
    #include "math.h"
    using namespace std;
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	long double q,e,s,S;
    	char w,k;
    	cout<<"4islo1=";cin>>q;cout<<"znak/deistv=";cin>>w;
    	if(w!='sqrt') {
    		cout<<"4islo2=";cin>>e;
    		if(w=='+' ) {s=q+e;cout<<"s="<<q<<"+"<<e<<"=";}
    		if(w=='-' ) {s=q-e;cout<<"s="<<q<<"-"<<e<<"=";}
    	        if(w=='*' ) {s=q*e;cout<<"s="<<q<<"*"<<e<<"=";}
    	        if(w=='/' ) {s=q/e;cout<<"s="<<q<<"/"<<e<<"=";}
    		if(w=='^') {s=pow(q,e);cout<<"s="<<q<<"^"<<e<<"=";}
    		cout<<s<<"\n";}
    	else {
    		 s=sqrt(q);cout<<"s=sqrt("<<q<<")"<<"="; // команда  sqrt не срабатывает
    	         cout<<s<<"\n";}
    	for(;;) {
    		cout<<"znak/deistv=";cin>>k;
    		if (k=='stop') break;   //команда break не срабатывает (нужно прекратить цикл)
    		else {
    		    if(k!='sqrt') {
    			  cout<<"4islo=";cin>>e;
    			  if(k=='+' ) {S=s+e;cout<<"s="<<s<<"+"<<e<<"=";}
    		          if(k=='-' ) {S=s-e;cout<<"s="<<s<<"-"<<e<<"=";}
    	                  if(k=='*' ) {S=s*e;cout<<"s="<<s<<"*"<<e<<"=";}
    	                  if(k=='/' ) {S=s/e;cout<<"s="<<s<<"/"<<e<<"=";}
    		          if(k=='^') {S=pow(s,e);cout<<"s="<<s<<"^"<<e<<"=";}
    		          s=S;
    			  cout<<S<<"\n";}
    		    else {
    		      S=sqrt(s);cout<<"s=sqrt("<<s<<")"<<"="; // команда  sqrt не срабатывает
    	              s=S;
    		      cout<<S<<"\n";}
    		    }
    		  }
            
    	system ("pause");
    	return 0;
    }
    
     
    Последнее редактирование: 16.09.2012