Erebus_22 Ответов: 1

Код с неисправен . Windows display файл перестал функционировать


Единственное, что может вызвать проблему, - это, вероятно, строка.
код неисправен, когда мы входим в первый цикл acid_choice
#include<stdio.h>
#include<conio.h>
#include<string.h>
main()
{
	int choice,ans_acid,ans_basic,counter=0;
	char acid[100];
	char basic[100];
	printf("\nThis helps in finding out which salt is present\nThe present process identifies acid radicals cl, br and nitrate\n bacic radicals are lead and silver\n salts which can be detected are:- 1.lead chloride\n2.silver chloride\n3lead bromide \n4.silver bromide\n5.silver nitrate\n6. lead nitrate");
	printf("\npress 1 for acid radical and 2 for basic radical check\n");
	scanf("%d",&choice);
	that:
		if(choice==1)
		{
			printf("\nAdd concentrated sulphuric acid to the solution");
			counter++;
			printf("\nexpose it to glass rod diped in ammonium hydroxide. if colorless gas with pungent gas press 1 \nbrown gs and solution is not blue press 2\nlight brown gas and brown gas with pieces of copper turning and solution turns blue in test tube press 3");
			scanf("%d",ans_acid);
			switch(ans_acid)
			{
				case 1:
					strcpy(acid, "chroride");
					//confirmatiory test space
					break;
				case 2:
					strcpy(acid, "bromide");
					//confirmatiory test space
					break;
				case 3:
					strcpy(acid, "nitrate");
					//confirmatiory test space
					break;
			}	
		}
		else if(choice==2)
		{
			printf("\n add dilute hydro chloric acid to the salt");
			counter++;
			printf("\nif ppt disolves in water press 1. \n if ppt is unsolube in water press 2.");
			scanf("%d",&ans_basic);
			switch(ans_basic)
			{
				case 1:
					strcpy(basic, "lead");
					//confirmatiory test space
					break;
				case 2:
					strcpy(basic, "silver");
					//confirmatory test space
				break;
			}
		}
	if(counter==1)
	{
		if(choice==1)
		{
			choice=2;
			goto that;
		}
		if(choice==2)
		{
			choice=1;
			goto that;
		}
	}
	printf("salt is %s %s", basic, acid);
	return 0;
}


Что я уже пробовал:

попробовал изменить структуру кода.
переключился с переключателя на if else,
использовал Маллок.

[no name]

Попробуйте отладить свой код.

jeron1

Что означает "Windows показывает, что файл перестал функционировать"?

Mohibur Rashid

scanf ("%d", ans_acid);
Должно быть
scanf("%d",& ans_acid);

1 Ответов

Рейтинг:
0

Patrice T

Когда вы не понимаете, что делает ваш код или почему он делает то, что делает, ответ таков: отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволяет вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения, это невероятный инструмент обучения.

Отладчик-Википедия, свободная энциклопедия[^]
Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]
Базовая отладка с помощью Visual Studio 2010-YouTube[^]
Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.