ABA


"בעיה בקוד בפסקל.. הקוד בפנים והבעיות בפנים"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #7057 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 7057
Hell-Boy

   22:25   29.09.03   
אל הפורום  
  בעיה בקוד בפסקל.. הקוד בפנים והבעיות בפנים  
 
   אז ככה קודם כל אני אומר לכם מראש אני רק מתחיל בתיכנות אז אל תרדו על התיכנות המסריח שלי כי אני יודע שהוא מסריח!
ועוד בקוד הזה במיוחד שעשיתי סתם דברים בלי לחשוב הרבה.. כך שהוא יצא ארוך ומיגע
ואני בטוח שאפשר לקצר אותו פי 2 או יותר...
עכשיו דיי לדבר על התיכנות המסריח והלא מועיל שלי
זה הקוד:


program converter;
var
num,char,base:string;
i,char1,index,a,counter,mod1,sum3,sum2:integer;
sum,hezka:longint;
sum1:real;
st: array of string;

procedure ToDecimal;
begin
if base<>'Decimal' then
begin
for i:= length(num) downto 1 do
begin
char:=copy (num,i,1);
if (char='a') or (char='A') then
begin
char:='10';
end;
if (char='b') or (char='B') then
begin
char:='11';
end;
if (char='c') or (char='C') then
begin
char:='12';
end;
if (char='d') or (char='D') then
begin
char:='13';
end;
if (char='e') or (char='E') then
begin
char:='14';
end;
if (char='f') or (char='F') then
begin
char:='15';
end;
val(char,char1,Index);
sum:=sum + (char1*hezka);
if base='Hexa' then
begin
hezka:=hezka * 16;
end;
if base='Binary' then
begin
hezka:=hezka * 2;
end;
if base='Octal' then
begin
hezka:=hezka * 8;
end;
end;
writeln('the num: ',num,' in decimal is: ',sum);
end;
end;

procedure ToHexa;
begin
if base<>'Hexa' then
begin
a:=0;
counter:=0;
val(num,sum3,Index);
if base='decimal' then
begin
sum1:=sum3;
sum2:=sum3;
end
else
begin
sum1:=sum;
sum2:=sum;
end;
repeat
mod1:=sum2 mod 16;
if mod1=1 then
st:='1';
if mod1=2 then
st:='2';
if mod1=3 then
st:='3';
if mod1=4 then
st:='4';
if mod1=5 then
st:='5';
if mod1=6 then
st:='6';
if mod1=7 then
st:='7';
if mod1=8 then
st:='8';
if mod1=9 then
st:='9';
if mod1=10 then
st:='A';
if mod1=11 then
st:='B';
if mod1=12 then
st:='C';
if mod1=13 then
st:='D';
if mod1=14 then
st:='E';
if mod1=15 then
st:='F';
sum1:=sum1/16;
a:=a+1;
counter:=counter+1;
until (sum1=0) or (sum2=0);
for i:=counter downto 1 do
begin
Writeln('The num in Hexa is:');
Write(St);
end;
end;
end;
begin
hezka:=1;
sum:=0;
writeln('Choose from wich base you want to convert:');
writeln('Binary');
writeln('Octal');
writeln('Hexa');
writeln('Decimal');
readln(base);
writeln('type a num:');
readln(num);
ToDecimal;
readln;
end.

נו אתם רואים למה התכוונתי שאמרתי קוד מחורבן?
עכשיו אני בעצם בונה ממיר בסיסים...
עכשיו זה הולך ככה: המשתמש בוחר מאיזה בסיס הוא רוצה להמיר, והתוכנה ממירה את המספר מהבסיס שהוא בחר לכל שאר הבסיסים!
עד עכשיו עשיתי קוד שבעצם ימיר מכל בסיס לעשרוני (עובד)
הגעתי לחלק של לעשות מכל בסיס להקסה וכמו שאתם רואים יש בעיה!
עכשיו מי שרוצה לבדוק את הקוד בתוכנה ואין לו זיין להעתיק שורה שורה (TP7)
אז שיכנס לתיקייה של התוכנה ושם לתיקייה BIN ושם יפתח קובץ טקסט יעתיק את הקוד וידביק בקובץ וישמור בסיומת PAS (אם אני לא טועה)...

אוקיי עכשיו כל מי שיכול לעזור שיקרא את הקוד (המסריח והלא מובן בגרוש) וינסה להגיד לי מה הבעיה, ומה אפשר לשפר בו (ז"א לצמצם לקצר להוסיף וכו')

נ.ב
אני יודע שהקוד מגעיל, אל תשכחו שאני מתחיל אבל בבוא הזמן התיכנות ישתפר
ומצטער שהקוד מבולגן ולא מובן!

תודה לכל העוזרים.


אני מתבייש בעצמי לפרסם כזה דבר :(


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  אי אפשר להעתיק בכלל מתוך שדה code szargel 29.09.03 22:48 1
     לא הבנתי את הקטע של : Hell-Boy 30.09.03 14:45 2
         תנסה לסמן את הקטע, לפתוח word או notepad szargel 30.09.03 18:11 3
             חחח באמת מעצבן :S Jojo X Noah 30.09.03 19:16 4
                 מה יעזור אם אני יכניס לכתבן וידביק בחזרה? Hell-Boy 30.09.03 20:55 5
                     אולי במקום לשאול שאלות קיטבג תנסה? szargel 30.09.03 22:08 6

       
szargel

   22:48   29.09.03   
אל הפורום  
  1. אי אפשר להעתיק בכלל מתוך שדה code  
בתגובה להודעה מספר 0
 
   תסמן איך שאתה רוצה, זה יהפוך את הכל לשורה ארוכה.
כרגע אין לי זמן, אבל אני אשתדל מחר או מחרתיים לשבת על הקוד ולטפל בו.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Hell-Boy

   14:45   30.09.03   
אל הפורום  
  2. לא הבנתי את הקטע של :  
בתגובה להודעה מספר 1
 
   "אי אפשר להעתיק בכלל מתוך שדה code"
"תסמן איך שאתה רוצה, זה יהפוך את הכל לשורה ארוכה."


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
szargel

   18:11   30.09.03   
אל הפורום  
  3. תנסה לסמן את הקטע, לפתוח word או notepad  
בתגובה להודעה מספר 2
 
   ולעשות "הדבק".


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Jojo X Noah

   19:16   30.09.03   
אל הפורום  
  4. חחח באמת מעצבן :S  
בתגובה להודעה מספר 3
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Hell-Boy

   20:55   30.09.03   
אל הפורום  
  5. מה יעזור אם אני יכניס לכתבן וידביק בחזרה?  
בתגובה להודעה מספר 4
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
szargel

   22:08   30.09.03   
אל הפורום  
  6. אולי במקום לשאול שאלות קיטבג תנסה?  
בתגובה להודעה מספר 5
 
   אתה בכלל לא הבנת על מה אנחנו מדברים, אני מבטיח לך שאחרי שתנסה תבין.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net