本文目錄一覽:
用C語言設計一個超市購物列印系統
我自己設計了一個,你試試!操作結束後按Ctrl+z顯示清單。使用方面有什麼不懂可以問我!
#include “stdio.h”
typedef struct{
char node[100]; /*商品編號*/
char name[100];/*商品名稱*/
float price;/*商品價格*/
} datatype;
typedef struct node{
datatype food[100];
int len;/*存放商品總數*/
}SPku;
datatype Input(void)
{datatype x;br/ scanf(“%s %s %f”,x.node,x.name,x.price);br/ printf(“輸入完畢!”);br/return x;br/}
void create(SPku *r)
{ int i;
printf(“\n輸入商品總數:”);
scanf(“%d”,r-len);
for(i=0;ir-len;i++)
{printf(“\n輸入商品編號 名稱 價格:”); br/ r-food[i]=Input();br/ }
}
int strlen(char s[])
{int i;br/ for(i=0;is[i];i++);br/ return i;br/ }
int compare(char y[],char s[])
{int i;br/if(strlen(y)!=strlen(s))br/ return 0;br/elsebr/ for(i=0;istrlen(y);i++)br/ if(y[i]!=s[i])br/ return 0;br/ return 1;br/}
void Output(datatype f)
{
printf(“\n%s %s %f”,f.node,f.name,f.price);
}
int judge(SPku *r,char nd[])
{ int i;
for(i=0;ir-len;i++)
if(compare(r-food[i].node,nd))
{ Output(r-food[i]) ;
return i;
}
return 1000;
}
main()
{SPku r,n;br/ char nd[100];br/ int k,j,i,y=0;br/ printf(“\n開始創建資料庫…”);br/ create(r);br/ printf(“\n*********商品總單*********”);br/ for(i=0;ir.len;i++)br/ Output(r.food[i]);br/ printf(“\n**************************”);br/while((j=getchar())!=EOF)br/ {br/ printf(“\n掃描輸入商品的編號:”);br/ gets(nd);br/ printf(“輸入成功!”);br/ k=judge(r,nd);br/ if(k==1000) br/ printf(“\n無此商品…”);br/ elsebr/ n.food[y++]=r.food[k];br/ }
printf(“\n*********商品清單*********”);
n.len=y;
for(i=0;in.len;i++)
Output(n.food[i]);
}
c語言的控制台列印時每次都出錯
調用刷新緩衝區的函數。它是一個行緩衝函數,當你執行這個函數時,並不會立即列印數據。而是等printf的緩衝區滿1024個位元組才會列印出來。調用刷新緩衝區的函數即可。C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用於底層開發。
用C語言實現列印功能的具體代碼是什麼?
int __cdecl printf ( const char *format, …)
{
va_list arglist;
int buffing;
int retval;
va_start(arglist, format);
_ASSERTE(format != NULL);//斷言宏。如果輸出格式字元串指針為空,則在DEBUG版下斷 言,報告錯誤。
_lock_str2(1, stdout);
buffing = _stbuf(stdout);//stdout:指定輸出到屏幕
retval = _output(stdout,format,arglist);
_ftbuf(buffing, stdout);
_unlock_str2(1, stdout);
return(retval);
}
以上為printf()的源代碼,也就是你說的列印功能。
c語言 列印系統時間
#include stdio.h
#include time.h
int main()
{
time_t rawtime;
struct tm * timeinfo;
time ( rawtime );
timeinfo = localtime ( rawtime );
printf ( “當前系統時間: %s”, asctime (timeinfo) );
return 0;
}
說明:
time_t // 時間類型(time.h 定義)
struct tm { // 時間結構,time.h 定義如下:
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
}
time ( rawtime ); // 獲取時間,以秒計,從1970年1月一日起算,存於rawtime
localtime ( rawtime ); //轉為當地時間,tm 時間結構
asctime() // 轉為標準ASCII時間格式:
//就是直接列印tm,tm_year 從1900年計算,所以要加1900,月tm_mon,從0計算,所以要加1
C語言列印系統時間,輸出錯誤
dateblk-da_day=sys.wDay;
dateblk-da_mon=sys.wMonth;
dateblk-da_day=sys.wYear;/*你這裡再次對da_day賦值了,但看你意思應該是對da_year賦值了,所以你對年根本 沒有賦值 ,就是一個初始化值,但你又沒有初始化,所以就是一個系統給的值,至於值是多少那就只有系統知道了*/
而且 printf(“%d-%d-%”,dateblk-da_year,dateblk-da_mon,dateblk-da_day);中掉了一個”%d-%d-%d”
原創文章,作者:UJIR,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/144810.html