現開發乙個程式用於維護倉庫儲存的零件的資訊的資料庫。
程式將支援下列操作:
1.新增新零件編號、名稱和初始的現貨數量。
2.給定零件編號,顯示出零件的名稱和當前的現貨數量。
3.給定零件編號,改變現有的零件數量。
4.顯示列出陣列庫種全部資訊的**。
5.終止程式的執行。
使用i(插入)、s(搜尋)、u(更新)、p(顯示)和q(退出)分別表示這些操作。與程式的會話可能如下:
這裡限制資料庫的大小為100種零件(如果這裡限制的值太小,可以在將來改變它)。
決定把程式分為三個檔案:inventory.c檔案,readline.**件,readline.c檔案。
inventory.c
#include#include"readline.h"
#define name_len 25//最大名字長度
#define max_parts 100//最大零件種類
struct part
inventory[max_parts];
int num_parts = 0;//當前儲存的零件數量
int find_part(int number);//一系列功能函式
void insert(void);
void search(void);
void update(void);
void print(void);
int main(void)
printf("\n"); }}
int find_part(int number)//在庫存中查詢零件號,如果找到零件號則返回陣列索引,否則返回-1。
void insert(void)//提示使用者提供有關新零件的資訊,然後將零件插入資料庫。
printf("輸入零件編號:");
scanf("%d", &part_number);
if (find_part(part_number) > 0)
inventory[num_parts].number = part_number;
printf("輸入零件名稱:");
read_line(inventory[num_parts].name, name_len);
printf("輸入現有數量: ");
scanf("%d", &inventory[num_parts].on_hand);
num_parts++;
}void search(void)//提示使用者輸入零件號,然後在資料庫中查詢零件。
else
printf("未查找到零件.\n");
}void update(void)//提示使用者輸入現有數量的變化
else
printf("未查找到零件.\n");}
void print(void)//輸出零件資訊
readline.h
#ifndef readline_h
#define readline_h
int read_line(char str, int n);//將read_line函式的定義放到readline.c中
#endif
readline.c
#include#include#include"readline.h"
int read_line(char str, int n)
str[i] = '\0';
return i;
}
零件加工(貪心)
時間限制 1 sec 記憶體限制 128 mb 題目描述 工匠小k最近有n個零件需要加工。每個零件都需要ti天的時間來完成,每個零件每延遲一天加工都要繳納一定的罰金si。延遲的天數為從今天算起到該工作開始的那天,第乙個零件加工沒有罰金。現在小k想知道怎樣安排加工順序可以使他要交的罰金最少,最少是多少...
加工零件 execution
題面 有 n 個零件需要加工。零件之間有 m 個限制,x y 表示 x 要在 y 之前先加工完。每個零件的加工時間都是 1。現在有無限個多個工具機,在滿足限制條件的情況下,零件可以同時加工。求加工完所有零件最少需要多少時間,然後還要求出在時間最少的前提下,最少需要多少工具機。資料保證有解。對於 10...
零件分組 題解
題目描述 某工廠生產一批棍狀零件,每個零件都有一定的長度 li 和重量 wi 現在為了加工 需要,要將它們分成若干組,使每一組的零件都能排成乙個長度和重量都不下降 若 ili lj,wi wj 的序列。請問至少要分成幾組?輸入 第一行為乙個整數 n n 1000 表示零件的個數,第二行有 n 對正整...