C-Programm?

L

leo-magic

Aktives Mitglied
Thread Starter
Dabei seit
24.12.2004
Beiträge
1.178
Reaktionspunkte
4
Hallo

Wie kann ich folgendes C-Programm unter Mac OS X laufen lassen??

Code:
unsigned char EANcode[14] = "222000000001\0\0";     // sollte  6 ergeben

int CRCSum; 
int EANPos; 
int CheckDigit; 
CRCSum = 0; 

for (int i=0;i<12;i++) { 
  EANPos = EANcode[i]-0x30; 
  if (i%2 == 0) CRCSum += EANPos*1; 
  else          CRCSum += EANPos*3; 
}

CheckDigit = 10 - (CRCSum%10); 
CheckDigit = CheckDigit%10; 
EANcode[12]= CheckDigit+0x30; 
EANcode[13] = 0 ; 
printf("%s",EANcode);

Danke, Léo
 
das hat zwar nichts mit applescript zu tun, aber installier dir XCode und speicher das da in ein file und dann im terminal "gcc filename"
 
Ok, danke.

Ja, ich weiss, aber wusste sonst nicht, wo posten... (Apple)Script war da noch am passensten... Geht das also nur mit XCode?

Könnte man das C-Script so umschreiben, und daraus ein Apple-Script machen?

Léo
 
Hi,

sollte locker auch mit Apple-Script funktionieren, ohne jetzt mein C-Wissen aus dem Studium aufzuwärmen... Aber so riesig scheint die Routine ja jetzt nicht zu sein.

Viele Grüße
Rüdiger
 
Für ein C-Programm musst Du noch eine "main" routine drumbauen. Die ist aber in einem "Shell-Tool" Projekt von Xcode drin.

Natürlich geht es auch ohne Xcode, direct im Terminal mit gcc.

Aber mit AppleScript sollte es auch problemlos gehen

Das hier packst Du in eine Datei "crc.c":
Code:
#include <stdio.h>

int main (int argc, void * argv)
{
	unsigned char EANcode[14] = "222000000001\0\0";     // sollte  6 ergeben

	int CRCSum; 
	int EANPos; 
	int CheckDigit; 
	int i;

	CRCSum = 0; 

	for (i=0;i<12;i++) { 
		EANPos = EANcode[i]-0x30; 
		if (i%2 == 0) CRCSum += EANPos*1; 
		else          CRCSum += EANPos*3; 
	}

	CheckDigit = 10 - (CRCSum%10); 
	CheckDigit = CheckDigit%10; 
	EANcode[12]= CheckDigit+0x30; 
	EANcode[13] = 0 ; 
	printf("%s\n",EANcode);
	return 0;
}

Dann gibts Du im Terminal ein:

gcc -o crc crc.c

Danach kannst Du es mit

./crc

ausführen.

Alex
 
Code:
gcc: command not found
 
Dann installiere XCode, da ist der gcc mit enthalten.
 
Und weil ich ja sonst nichts zu tun habe, AppleScript

Code:
set EANCode to "222000000001" as string
-- sollte  6 ergeben
set CRCSum to 0

set i to 1

repeat while i < 13
	set EANPos to (character i of EANCode) - 48
	if (i mod 2) is equal to 0 then
		set CRCSum to CRCSum + EANPos * 1
	else
		set CRCSum to CRCSum + EANPos * 3
	end if
	set i to i + 1
end repeat


set CheckDigit to 10 - (CRCSum mod 10)
set CheckDigit to CheckDigit mod 10
set EANCode to EANCode & (ASCII character (CheckDigit + 48))

return EANCode

Alex
 
Hey! Danke vielmal! Funktioniert prima!! Danke für die Mühe!!!

Léo
 
Zurück
Oben Unten