我試圖讓一個程序在Windows控制檯中啓動,它會詢問電阻中的「第一個帶的顏色是什麼」,所以當你輸入諸如「red 「它將輸入一個2到浮動中。我遇到的問題是,我不僅無法弄清楚如何將「紅色」變成「2」,而且每當我嘗試在控制檯上輸入文本時,它都會顯示其餘的printf並跳到最後。轉換爲數字的字的輸入C
這是我到目前爲止,我評論了第三和第四個輸入,所以我可以更容易地排除故障。
//Color bands
#include <stdio.h>
int
main(void)
{
double first;
double second;
//double third;
//double fourth;
double total_resist;
double black, brown, red = 2, orange, yellow, green, blue, violet, gray, white;
black = 0;
brown = 1;
red = 2;
orange = 3;
yellow = 4;
green = 5;
blue = 6;
violet = 7;
gray = 8;
white = 9;
printf("Input first color band> ");
scanf("%lf", &first);
printf("Input second color band> ");
scanf("%lf", &second);
total_resist = first + second;// + second + third + fourth;
printf("\nTotal resistance is %.lf\n", total_resist);
return(0);
}
'scanf'永遠不會將字符串'red'轉換爲float'2'。你需要自己做。 – Bechir 2013-04-08 10:13:27
你需要做一個查找表。顏色代碼反正是固定的。你沒有考慮到精確度?也許你需要 – 2013-04-08 10:18:20