Как считать одним scanf сразу и символ и число? - C (СИ)
Формулировка задачи:
Как мне заставить scanf принять одно число (типо float), и символ(char).
Число я отправляю в функцию, причем в какую функцию зависит от символа.
C двумя int получалось
а здесь никак... Пробовал эксперементировать типо + поставить или еще что, не получается
scanf("%f %c",numerial,FirstChoiceTemp);
#include <stdio.h> #include <stdlib.h> #include <errno.h> void Kelvin(float degreeKelvin) { char SecondChoiceTemp = 'o'; float farenheit = 0; float celsii = 0; printf("Enter the new unit type (F, C, or K): \n" ); scanf("%c",&SecondChoiceTemp); if (SecondChoiceTemp == 'K') { printf("%f is %f", degreeKelvin,degreeKelvin); } else if (SecondChoiceTemp == 'F') { farenheit = (degreeKelvin - 273.15) * 1.8 + 32; printf("%f is %f", degreeKelvin,farenheit); } else if (SecondChoiceTemp == 'C') { celsii = degreeKelvin - 273.15; printf("%f is %f", degreeKelvin,celsii); } } void Celsii(float degreeCelsii) { char SecondChoiceTemp = 'o'; float farenheit = 0; float kelvin = 0; printf("Enter the new unit type (F, C, or K): \n" ); scanf("%c",&SecondChoiceTemp); if (SecondChoiceTemp == 'C') { printf("%f is %f", degreeCelsii,degreeCelsii); } else if (SecondChoiceTemp == 'F') { farenheit = (degreeCelsii * 1.8) + 32; printf("%f is %f", degreeCelsii,farenheit); } else if (SecondChoiceTemp == 'K') { kelvin = degreeCelsii + 273.15; printf("%f is %f", degreeCelsii,kelvin); } } void Farenheit(float degreeFarenheit) { char SecondChoiceTemp = 'o'; float celsii = 0; float kelvin = 0; printf("Enter the new unit type (F, C, or K): \n" ); scanf("%c",&SecondChoiceTemp); if (SecondChoiceTemp == 'F') { printf("%f is %f", degreeFarenheit,degreeFarenheit); } else if (SecondChoiceTemp == 'C') { celsii = (degreeFarenheit - 32) * 1.8; printf("%f is %f", degreeFarenheit,celsii); } else if (SecondChoiceTemp == 'K') { kelvin = (degreeFarenheit-32) * 1.8 + 273.15; printf("%f is %f", degreeFarenheit,kelvin); } } void temperature() { float numerial = 0; char FirstChoiceTemp = 'o'; printf("Enter the temperature followed by its suffix (F, C, or K): "); scanf("%f %c",&numerial,&FirstChoiceTemp); if( (FirstChoiceTemp == 'K') || (FirstChoiceTemp == 'k') ){ Kelvin(numerial); } else if( (FirstChoiceTemp == 'C') || (FirstChoiceTemp == 'c') ){ Celsii(numerial); } else if( (FirstChoiceTemp == 'F') || (FirstChoiceTemp == 'f') ){ Farenheit(numerial); } } int main(void) { char Degree = 'o'; printf("T or t for temperature"); printf("D or d for temperature"); scanf("%c", &Degree); if( (Degree == 'T') || (Degree == 't') ){ temperature(); } return 0; }
scanf("%d i +%d",&FirstComplexImag,&FirstComplexReal);
Решение задачи: «Как считать одним scanf сразу и символ и число?»
textual
Листинг программы
scanf("%f %c",&numerial,&FirstChoiceTemp);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д